Einleitung
Beschreibung für den 2.6er Kernel. Debian übersetzt den Kernel so, dass er nomalerweise DMA verwendet. Es wird hier alles am Beispiel /dev/hda beschrieben, gilt jedoch selbstverständlich auch für andere Geräte (Devices).
1. Festplattendurchsatz:
Messen:
hdparm -t /dev/hda
bonie++ -d /verzeichnis_auf_dem_zu_testen_Dev -s 4G (2x Ram) -u root (zumindest bei mir weil ich als User bonnie nicht starten kann
Tuning:
blockdev --getra /dev/hda
blockdev --setra --setra 2000 /dev/hda (wie hoch der Wert ist muss getestet werden)
Der Kernel setzt die Readahead Buffer auf 512 Kb, was mittlerweile fast immer zu klein ist. Gerade bei Raid-Controllern kann man mit größeren Werten massive Leistungssteigerungen erreichen. Man darf sich aber nicht täuschen lassen, es sind optimierte Werte für den Optimalfall Lineare Zugriffe, was bedeutet dass Lese-/Schreibzugriffe von direkt hintereinander liegenden Blöcken erfolgen können, zB. Lese-/Schreibzugriffe großer Dateien auf einer gut aufgeräumten Festplatte.
In /sys/block/hda/queue# cat scheduler werden die zur Verfügung stehenden Scheduler angezeigt. Es gibt doch bemerkbare Unterschiede zwischen ihnen. Dies hängt von den Zugriffen ab.