Was sind die Fortschritte bei der Verbesserung der Systemleistung / Reaktionsfähigkeit bei hoher Festplatten-E / A?


9

Immer wenn hohe Festplatten-E / A vorhanden sind, ist das System in der Regel viel langsamer und reagiert weniger schnell als gewöhnlich. Was ist der Fortschritt auf dem Linux-Kernel in dieser Hinsicht? Wird an diesem Problem aktiv gearbeitet?


Ich schwöre, das ist schon vor ... hmm ...
Xenoterracide

1
mögliches Duplikat @tshepang, es enthält definitiv Antworten auf Ihre Frage.
Xenoterracide

@tshepang auch diese Frage
Xenoterracide

@tshepang. Ich antwortete darauf mit Teilen dessen, was auf den anderen gesagt wurde. Ich akzeptiere, dass es anders genug ist, um seine eigene Frage zu bleiben, aber sie sind definitiv verwandt. Eigentlich denke ich, wenn Sie sich die wahre Ursache für beide anderen Fragen ansehen, werden Sie feststellen, dass Sie alle mit denselben Fehlern konfrontiert sind. Sie haben die Frage nur anders gestellt.
Xenoterracide

1
@tshepang, wenn Sie die letzten 10 Kernel-Releases verfolgt haben, haben Sie mehrere Patches gefunden, die sich auf E / A-Probleme beziehen, von Leistungsproblemen in ext3, ext4, CFQ und wahrscheinlich einigen anderen Stellen, einschließlich dieser neuesten Patch-Runde. Schade, dass ich momentan nicht alle anderen Links finden kann.
Xenoterracide

Antworten:


11

Ich denke zum größten Teil wurde es gelöst. Meine Leistung unter starken E / A hat sich in 2.6.36 verbessert, und ich erwarte, dass sie sich in 2.6.37 weiter verbessert. Siehe diese Phoronix- Artikel.

Wu Fengguang und KOSAKI Motohiro haben diese Woche Patches veröffentlicht, von denen sie glauben, dass sie einige dieser Probleme mit der Reaktionsfähigkeit beheben werden. Andreas Mohr, einer der Benutzer, der dieses Problem dem LKML gemeldet und die beiden Patches getestet hat, die gegen den vmscan des Kernels angewendet werden, hat Erfolg gemeldet. Das Problem von Andreas war, dass das System beim Erstellen eines EXT4-Dateisystems, wenn ein Solid-State-Laufwerk über USB 1.1 angeschlossen war, nicht mehr reagierte (und das Umschalten auf ein VT mehr als 20 Sekunden dauerte). Auf seinem System war das Problem beim Schreiben von 300 MB aus der Datei / dev / zero noch schlimmer.

Hier ist ein direkter Link zum Fehler

Auch von Phoronix

Glücklicherweise scheinen die veröffentlichten relativ kleinen vmscan-Patches nach unseren Tests und den Berichten anderer Linux-Benutzer, die dieses Problem behoben haben möchten, das Problem besser zu lösen. Die Benutzeroberfläche (in unserem Fall GNOME) ist immer noch nicht 100% flüssig, wenn das System eine überwältigende Menge an Festplattenaktivität aufweist, aber es ist sicherlich viel besser als zuvor und was derzeit sogar mit dem Linux 2.6.35-Kernel zu finden ist.

Es gibt auch die Ankündigung der Veröffentlichung von Phoronix 2.6.36

Es scheint, dass Blockbarrieren verschwinden und das sollte auch die Leistung verbessern.

In der Praxis haben Barrieren einen unangenehmen Ruf, die Block-E / A-Leistung zu beeinträchtigen, so dass Administratoren häufig versucht sind, sie auszuschalten und ihre Risiken einzugehen. Während die von moderner Hardware bereitgestellten getaggten Warteschlangenoperationen Barrieren recht gut implementieren sollten, sind Versuche, diese Funktionen zu nutzen, im Allgemeinen auf Schwierigkeiten gestoßen. In der realen Welt werden Barrieren implementiert, indem einfach die E / A-Anforderungswarteschlange vor dem Ausgeben der Barriereoperation geleert wird, wobei einige Flush-Operationen ausgeführt werden, damit die Hardware die Daten tatsächlich auf persistenten Medien festschreibt. Warteschlangenentleerungsvorgänge blockieren das Gerät und beenden die Parallelität, die für die volle Leistung erforderlich ist. Es ist nicht überraschend, dass der Einsatz von Barrieren schmerzhaft sein kann.

Es gibt auch diesen LWN-Artikel über faire E / A-Planung

Ich würde sagen, dass IO zum Zeitpunkt der Veröffentlichung von ext4 in 2.6.28 als große Sache wieder erwacht ist. Die folgenden Links beziehen sich auf Kernel-Versionen von Linux Kernel Newbies . Sie sollten die Abschnitte Block und Dateisysteme lesen. Dies kann natürlich eine unfaire Stimmung sein, oder gerade als ich anfing, die FS-Entwicklung zu beobachten, hat sie sich sicher die ganze Zeit verbessert, aber ich habe das Gefühl, dass einige der ext4-Probleme dazu geführt haben, dass die Leute sich den IO-Stack genau angesehen haben, oder Es könnte sein, dass sie erwartet hatten, dass ext4 alle Leistungsprobleme löst, und als dies nicht der Fall war, wurde ihnen klar, dass sie anderswo nach den Problemen suchen mussten.

2.6.28 , 2.6.29 , 2.6.30 , 2.6.31 , 2.6.32 , 2.6.33 , 2.6.34 , 2.6.35 , 2.6.36 , 2.6.37

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.