Wie kann ich die Leseleistung meiner SSD im Laufe der Zeit protokollieren?

10

Ich möchte über die Zeit, vielleicht wöchentlich, ein Protokoll über die Leserate meines Solid-State-Laufwerks führen, die von einem Tool wie System -> Administration -> Festplatten-Dienstprogramm -> Benchmark ermittelt wird:

Bildschirmfoto

Gibt es eine Möglichkeit, die Testdaten vom Festplatten-Dienstprogramm zu archivieren, oder können Sie sich andere Tools vorstellen, mit denen ich diese Art von Daten halbautomatisch sammeln kann?

Ich möchte in der Lage sein, den Benchmark mit schreibgeschützten Methoden durchzuführen, um das Laufwerk nicht unnötig zu tragen.

ændrük
quelle

Antworten:

4

hdparmkann auch Tests durchführen. Diese sind im Vergleich zu etwas einfach, bonnie++laufen aber schnell ( bonnie++können ein Ressourcenfresser sein, wenn sie ausgeführt werden) und müssen nicht auf die Festplatte geschrieben werden. Das bedeutet auch, dass die Effizienz des Dateisystems nicht getestet wird, was sich (hoffentlich) mit der Zeit durch Kernel-Upgrades verbessern wird.

Sie können einen Test wie folgt ausführen:

sudo hdparm -t /dev/sda

Und es wird mit so etwas antworten:

/dev/sdf:
 Timing buffered disk reads:  432 MB in  3.01 seconds = 143.53 MB/sec

Dies gilt nicht für die Latenz. Wenn Sie das stört, gibt es ein Skript namens Sucher , das Sie herunterladen und kompilieren können, das einige Suchvorgänge ausführt und die Zeit misst. Sie müssten ein bisschen C lernen, aber Sie könnten die Ausgabe an etwas anpassen, das Sie einfacher protokollieren könnten.

Oder Sie können darauf vertrauen, dass die Antwortzeit auf einer SSD nicht viel schlechter als ~ 0,3 ms wird

Oli
quelle
5

Schau es dir an bonnie++.

Sie müssen awkund grepzum Teufel raus, um die Zahlen zu erhalten, die Sie im Laufe der Zeit protokollieren möchten, aber es sollte möglich sein, das, was Sie wollen, in einem durch Kommas getrennten Wertformat in einer neuen Zeile einer Protokolldatei wiederzugeben.

Importieren Sie das und importieren Sie es in sechs Monaten in eine Tabelle und zeichnen Sie ein schönes Diagramm. Oder benutze R.

Bearbeiten: Bonnie ++ schreibt tatsächlich eine CSV als letzte Ausgabezeile, so dass es etwas einfacher wäre, sie in Langzeitprotokolle zu ziehen (wenn Sie herausfinden können, wie die Spaltentitel lauten).

Bonnie ++ ist jedoch darauf angewiesen, eine Datei (oder mehrere) in das Dateisystem schreiben zu können, und führt dann Lesetests für diese Dateien durch. Die Leute machen viel Aufhebens um SSD-Verschleiß, daher ist dies möglicherweise nicht optimal.

Oli
quelle
2
Oder Sie können einfach die gesamte Ausgabe in zeitgestempelten Dateien protokollieren und die Daten bis zu einem späteren Zeitpunkt verarbeiten. Auf lange Sicht wird dies die Sache nicht einfacher machen, aber Sie haben mehr Daten für die Analyse, wenn Sie sie benötigen.
Oli
Das ist fast perfekt, aber ich möchte nur schreibgeschützte Benchmarks durchführen und bin mir nicht sicher, ob dies mit bonnie ++ möglich ist. Ich habe meine Frage aktualisiert, um dies zu klären.
ændrük
2

Wenn Sie die detaillierten Daten aus dem Festplatten-Dienstprogramm (auch bekannt als "Palimpsest" -Programm) erfassen möchten, können Sie eine Kopie der zwischengespeicherten Daten im ~/.cache/gnome-disk-utility/drive-benchmarkVerzeichnis erstellen . Es scheint, dass Sie dort die neuesten Ergebnisse für jede Festplatte in einem Format finden, das seltsam, aber nicht zu schwer zu analysieren ist (Datenzeilen durch Doppelpunkte getrennt ...). Sie können diese Dateien einfach in ein Archiv kopieren und ihnen jedes Mal einen eindeutigen Namen geben. Leider werden sie jedes Mal im Cache überschrieben, und die Zusammenfassungsdaten werden nicht aufgezeichnet, sodass Sie dies neu berechnen müssen.

Unter 'Bug # 794929 im Gnome-Disk-Dienstprogramm (Ubuntu): "Benchmark für das Festplatten-Dienstprogramm, x-Achse undefiniert" finden Sie eine Anfrage und Antwort, um mehr Klarheit darüber zu erhalten, was die Daten tatsächlich bedeuten.

nealmcb
quelle