Leistungsoptimierung des ext3-Dateisystems: Welche Metriken müssen überwacht werden?

7

Ich habe eine High-IO-Anwendung, die funktioniert und bis heute gut skaliert. In den letzten Monaten haben wir versucht, einen Blick auf die Straße zu werfen und vorherzusagen, wo unsere nächsten Engpässe auftreten werden. Eines davon ist sicherlich das Dateisystem.

Wir überwachen derzeit

  • Platz verfügbar
  • Lesevorgänge pro Sekunde
  • Schreibvorgänge pro Sekunde

Das kommt mir etwas zu spärlich vor. Was soll ich sonst noch sehen? Ich bin mir nicht einmal sicher, wie die "gelbe Linie" für die Operationen / Sekunde aussehen würde.

Stu Thompson
quelle

Antworten:

4

Einige Vorschläge

  • Sehen Sie sich die Größe der Lesewarteschlange an. Wenn Ihre Anwendung sehr zufällig ist, optimieren Sie den Readahead, /sys/block/<dev>/queue/read_ahead_kbum sicherzustellen, dass Sie die benötigten Daten lesen und nicht die Daten, die das Betriebssystem für erforderlich hält.
  • Wechseln Sie zum Terminplaner, falls Sie dies noch nicht getan haben
  • Verwenden Sie die noatimeMount-Option, es sei denn, Sie hosten eine Mail-Spool
  • Mounten Sie mit, data=writebackwenn Sie gute Backups haben
  • Behalten Sie Ihre Verzeichnisgrößen im Auge, sicher helfen Sie gehostete Verzeichnis-Inodes, aber wenn Sie die Daten selbst hashen können, erhalten Sie konsistentere Ergebnisse
Dave Cheney
quelle
Unsere Verzeichnisstruktur ist ziemlich gut gehasht, wird aber noch einmal aussehen. Was würden Sie als "zu groß" oder "zu viele Dateien" für ein Verzeichnis vorschlagen?
Stu Thompson
2
Schauen Sie sich an, wie Tintenfische ihren Proxy-Shop hashen. Sie haben einige gute Unterlagen über die Auswahl einer Hashing-Tiefe und die Kompromisse
Dave Cheney
1
Ich bin mit noatime einverstanden, kann aber nicht wirklich empfehlen, den FS auf den Rückschreibemodus einzustellen.
BobbyShaftoe