In Disk I / O gibt es eine Sache namens Elevator. Das Platten-Subsystem versucht zu vermeiden, dass der Plattenkopf über die Platten geschleudert wird. E / A-Anforderungen werden neu angeordnet (wenn dies nicht durch eine Barriere verhindert wird), sodass sich der Kopf von der Innenseite der Festplatte nach außen und zurück bewegt und angeforderte E / A-Vorgänge auf dem Weg ausführt.
Das zweite ist das Zusammenführen von E / A-Anforderungen. Wenn innerhalb eines kurzen Zeitfensters viele Anforderungen vorliegen, die auf verschiedene Teile der Datei zugreifen, versucht das E / A-Subsystem, alle Daten auf einmal abzurufen, anstatt mehrere nicht zusammenhängende Anforderungen zu senden.
So weit das Tuning reicht. Wenn Sie der Autor von Anwendungen sind, können Sie eine Menge tun. Sie können große, sequenzielle E / A ausgeben, wann immer Sie können, und fsync () et.al. wenn Sie sicher sein müssen, dass sich die Daten auf den Platten befinden.
Wenn Sie ein Systemadministrator sind und absolut sicher sind, dass die Datenanforderungen von 2 Apps ansteigen und sie versuchen, Dateien nacheinander zu lesen (z. B. wenn 2 DVDs parallel transkodiert werden), sollte es hilfreich sein, den Readahead zu erhöhen. Andernfalls müssen Sie Ihre E / A-Muster und -größen überprüfen, ggf. Ihren RAID-Level und andere Faktoren berücksichtigen, bevor Sie eine Optimierung vornehmen. Sehen Sie sich Ihre tatsächlichen Engpässe an, bevor Sie mit der Optimierung beginnen. Es ist möglicherweise schwierig zu erraten, was Ihr System wirklich einschränkt.