linux:storage:io_schedulers
This is an old revision of the document!
Table of Contents
I/O Schedulers
Allgemeines
Unter Linux gibt es im Grunde drei verschiedene Schedulers.
- CFQ
- Deadline
- NOOP
Erklärung und Nutzung
Nur eine sehr kurze Erklärung dazu.
CFQ (Completely fair queuing)
- Faire Aufteilung von IOs auf aktive Prozesse
- Die Fairness wird in kürzere oder längere IO Schedulers verteilt. Die Bandbreite wird hier nicht verändert. Die Bandbreite bleibt immer voll erhalten.
- Periodische Abarbeitung
Deadline
- Jeder Request wird mit einer Ablaufzeit versehen bis wann dieser abgearbeitet werden muss.
- Read Requests werden höher behandelt als Write.
NOOP
- Alle IOs werden in eine FIFO-Queue geschoben und diese wird abgearbeitet
- IO Merges werden durchgeführt um Seek Time zu sparen
- Eine Sortierung der IOs findet nicht statt
Einsatz
- CFQ - Bei vielen Distros der Standard. Großer Funktionsumfang. Auf VMs oder SSD oft langsam.
- Deadline - Weniger Funktionen jedoch flotter. Empfohlen auf Hypervisoren oder Systemen die schnellen IO benötigen. PVE verwendet diesen zB als Default
- NOOP - Sehr schnell. Wird für SSDs empfohlen. Auch auf VMs eine gute Wahl wenn diese voll virtualisiert sind.
Im Grunde muss man sagen das jede Config getestet werden sollte. Je nachdem wie gut die Performance man benötigt
linux/storage/io_schedulers.1581949767.txt.gz · Last modified: by stone
