So überprüfen Sie die Festplattenleistung


Zur akzeptierten Antwort gehen


So überprüfen Sie die Leistung einer Festplatte (entweder über Terminal oder GUI). Die Schreibgeschwindigkeit. Die Lesegeschwindigkeit. Cache Größe und Geschwindigkeit. Zufällige Geschwindigkeit.


342





2011-12-12




Anzahl der Antworten: 9


Terminal-Methode

hdparm ist ein guter Ort, um zu beginnen.

 sudo hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads:   12540 MB in  2.00 seconds = 6277.67 MB/sec
Timing buffered disk reads: 234 MB in  3.00 seconds =  77.98 MB/sec
 

sudo hdparm -v /dev/sda wird auch Auskunft geben.

dd gibt Auskunft über die Schreibgeschwindigkeit.

Wenn das Laufwerk kein Dateisystem hat (und nur dann ), verwenden Sie of=/dev/sda .

Andernfalls hängen Sie es in / tmp ein und schreiben und löschen Sie die Testausgabedatei.

 dd if=/dev/zero of=/tmp/output bs=8k count=10k; rm -f /tmp/output

10240+0 records in
10240+0 records out
83886080 bytes (84 MB) copied, 1.08009 s, 77.7 MB/s
 

Grafische Methode

  1. Gehen Sie zu System -> Administration -> Festplatten-Dienstprogramm.
    • Alternativ können Sie das Gnome-Dienstprogramm von der Befehlszeile aus starten, indem Sie es ausführen gnome-disks
  2. Wählen Sie Ihre Festplatte im linken Bereich.
  3. Klicken Sie nun im rechten Bereich auf die Schaltfläche „Benchmark - Measure Drive Performance“ (Benchmark - Laufwerksleistung messen).
  4. Ein neues Fenster mit Diagrammen wird geöffnet. Sie finden zwei Schaltflächen. Eine ist für "Start Read Only Benchmark" und eine andere für "Start Read / Write Benchmark". Wenn Sie auf eine beliebige Schaltfläche klicken, wird das Benchmarking der Festplatte gestartet.


Prüfung

Benchmarking von Festplatten-E / A

Artikel

Möchtest du noch etwas?


436


2011-12-12

Suominen hat recht, wir sollten eine Art Synchronisation verwenden; Es gibt jedoch eine einfachere Methode: conv = fdatasync erledigt den Job:

 dd if=/dev/zero of=/tmp/output conv=fdatasync bs=384k count=1k; rm -f /tmp/output
1024+0records in
1024+0 records out
402653184 bytes (403 MB) copied, 3.19232 s, 126 MB/s
 

101


2013-08-18

Ich würde es nicht empfehlen, /dev/urandom weil es softwarebasiert und langsam wie ein Schwein ist. Es ist besser, zufällige Daten auf einer Ramdisk zu speichern. Beim Testen der Festplatte spielt der Zufall keine Rolle, da jedes Byte so geschrieben wird, wie es ist (auch auf ssd mit dd). Wenn wir jedoch einen deduppierten ZFS-Pool mit reinen Null- oder Zufallsdaten testen, besteht ein großer Leistungsunterschied.

Ein weiterer Gesichtspunkt muss die Einbeziehung der Synchronisationszeit sein. Alle modernen Dateisysteme verwenden Caching für Dateioperationen.

Um die Festplattengeschwindigkeit und nicht den Arbeitsspeicher wirklich zu messen, müssen wir das Dateisystem synchronisieren, um den Caching-Effekt zu beseitigen. Das geht ganz einfach mit:

 time sh -c "dd if=/dev/zero of=testfile bs=100k count=1k && sync"
 

mit dieser Methode erhalten Sie die Ausgabe:

 sync ; time sh -c "dd if=/dev/zero of=testfile bs=100k count=1k  && sync" ; rm testfile 
1024+0 records in
1024+0 records out
104857600 bytes (105 MB) copied, 0.270684 s, 387 MB/s

real    0m0.441s
user    0m0.004s
sys 0m0.124s
 

Die Datenträger-Datenrate beträgt also nur 104857600 / 0,441 = 237772335 B / s -> 237 MB / s

Das sind über 100 MB / s weniger als beim Caching.

Viel Spaß beim Benchmarking,


51


2012-12-06

Wenn Sie Genauigkeit wünschen, sollten Sie verwenden fio . Es erfordert das Lesen des Handbuchs ( man fio ), aber es gibt Ihnen genaue Ergebnisse. Beachten Sie, dass Sie für jede Genauigkeit genau angeben müssen, was Sie messen möchten. Einige Beispiele:

Sequentielle Lesegeschwindigkeit mit großen Blöcken (diese sollte in der Nähe der in den technischen Daten Ihres Laufwerks angegebenen Zahl liegen):

 fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting
 

Sequentielle Schreibgeschwindigkeit mit großen Blöcken (diese sollte in der Nähe der in den technischen Daten Ihres Laufwerks angegebenen Zahl liegen):

 fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=write --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting
 

Random 4K read QD1 (das ist die Zahl, die für die Leistung in der realen Welt wirklich wichtig ist, es sei denn, Sie wissen es genau):

 fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting
 

Mixed Random 4K Read und Write QD1 mit Sync (dies ist der schlechteste Fall, den Sie jemals von Ihrem Laufwerk erwarten sollten, normalerweise weniger als 1% der im Datenblatt aufgelisteten Zahlen):

 fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=randrw --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting
 

Erhöhen Sie das --size Argument , um die Dateigröße zu erhöhen. Die Verwendung größerer Dateien kann die Anzahl verringern, die Sie je nach Laufwerkstechnologie und Firmware erhalten. Kleine Dateien liefern für Rotationsmedien "zu gute" Ergebnisse, da der Lesekopf nicht so viel bewegen muss. Wenn Ihr Gerät fast leer ist und Sie eine Datei verwenden, die groß genug ist, um das Laufwerk fast zu füllen, werden Sie bei jedem Test den schlimmsten Fall feststellen. Bei einer SSD spielt die Dateigröße keine Rolle.

Beachten Sie jedoch, dass für einige Speichermedien die Größe der Datei nicht so wichtig ist wie die Gesamtzahl der während eines kurzen Zeitraums geschriebenen Bytes. Beispielsweise können einige SSDs mit vorgelöschten Blöcken eine erheblich schnellere Leistung aufweisen, oder sie verfügen über einen kleinen SLC-Flash-Bereich, der als Schreibcache verwendet wird, und die Leistung ändert sich, sobald der SLC-Cache voll ist. Ein weiteres Beispiel: SMR-Festplatten von Seagate verfügen über einen PMR-Cache-Bereich von etwa 20 GB, der eine recht hohe Leistung aufweist. Sobald er jedoch voll ist, kann das direkte Schreiben in den SMR-Bereich die Leistung um 10% gegenüber dem Original verringern. Die einzige Möglichkeit, diese Leistungsverschlechterung zu erkennen, besteht darin, zunächst so schnell wie möglich über 20 GB zu schreiben. Dies hängt natürlich alles von Ihrer Arbeitsbelastung ab: Wenn Ihr Schreibzugriff mit längeren Verzögerungen überlastet ist, die es dem Gerät ermöglichen, den internen Cache zu bereinigen, werden kürzere Testsequenzen Ihre reale Leistung besser widerspiegeln. Wenn Sie viel E / A ausführen müssen, müssen Sie sowohl die Parameter --io_size als auch die --runtime Parameter erhöhen . Beachten Sie, dass einige Medien (z. B. die meisten Flash-Geräte) durch solche Tests zusätzlichen Verschleiß erfahren. Wenn ein Gerät meiner Meinung nach schlecht genug ist, um diese Art von Tests nicht durchzuführen, sollte es auf keinen Fall dazu verwendet werden, wertvolle Daten zu speichern.

Darüber hinaus verfügen einige hochwertige SSD-Geräte möglicherweise über noch intelligentere Algorithmen zur Abnutzungskorrektur, bei denen der interne SLC-Cache über genügend intelligente Funktionen verfügt, um Daten zu ersetzen, die während des Tests neu geschrieben werden, wenn sie denselben Adressraum (dh dieselbe Testdatei) erreichen ist kleiner als der gesamte SLC-Cache). Bei solchen Geräten spielt die Dateigröße wieder eine Rolle. Wenn Sie Ihre tatsächliche Arbeitslast benötigen, testen Sie diese am besten mit Dateigrößen, die Sie im wirklichen Leben sehen werden. Andernfalls sehen Ihre Zahlen möglicherweise zu gut aus.

Beachten Sie, dass fio beim ersten Start die erforderliche temporäre Datei erstellt wird. Es wird mit zufälligen Daten gefüllt, um zu vermeiden, dass Geräte, die durch Komprimieren der Daten betrügen, zu viele Zahlen erhalten, bevor sie in den permanenten Speicher geschrieben werden. Die temporäre Datei wird fio-tempfile.dat in den obigen Beispielen aufgerufen und im aktuellen Arbeitsverzeichnis gespeichert. Wechseln Sie daher zuerst in das Verzeichnis, das auf dem Gerät bereitgestellt ist, das Sie testen möchten.

Wenn Sie eine gute SSD haben und noch höhere Zahlen sehen möchten, erhöhen Sie diese --numjobs . Das definiert die Parallelität für die Lese- und Schreibvorgänge. Die obigen Beispiele sind alle so numjobs eingestellt, 1 dass es sich bei dem Test um das Lesen und Schreiben von Prozessen mit einem Thread handelt (möglicherweise mit einer Warteschlange, die mit gesetzt ist iodepth ). High - End - SSDs (zB Intel Optane) sollten hohe Zahlen erhalten , auch ohne Erhöhung numjobs viel (zB 4 sollte ausreichen , um die höchsten spec Zahlen zu erhalten) , aber einige „Enterprise“ SSDs benötigen gehen 32 - 128 die spec Zahlen zu erhalten , da die interne Latenz von denen , Geräte ist höher, aber der Gesamtdurchsatz ist verrückt.


37


2018-01-01

Wenn Sie die Lese- und Schreibgeschwindigkeit der Festplatte in Echtzeit überwachen möchten, können Sie das iotop- Tool verwenden.

Dies ist nützlich, um genaue Informationen über die Leistung eines Datenträgers für eine bestimmte Anwendung oder Aufgabe zu erhalten. Die Ausgabe zeigt Ihnen die Lese- / Schreibgeschwindigkeit pro Prozess und die gesamte Lese- / Schreibgeschwindigkeit für den Server, ähnlich der top .

So installieren Sie iotop:

 sudo apt-get install iotop  
 

Um es auszuführen:

 sudo iotop
 

36


2013-09-17

Bonnie ++ ist das ultimative Benchmark-Dienstprogramm, das ich für Linux kenne.

(Ich bereite gerade eine Linux-Live-CD mit Bonnie ++ vor, um unsere Windows-basierte Maschine damit zu testen!)

Es kümmert sich um Caching, Synchronisierung, zufällige Daten, zufällige Speicherorte auf der Festplatte, kleine Updates, große Updates, Lese- und Schreibvorgänge usw. Vergleichen eines USB-Schlüssels, einer Festplatte (Rotary), eines Solid-State-Laufwerks und eines RAM-basierten Laufwerks Dateisystem kann für den Neuling sehr informativ sein.

Ich habe keine Ahnung, ob es in Ubuntu enthalten ist, aber Sie können es einfach aus dem Quellcode kompilieren.

http://www.coker.com.au/bonnie++/


25


2014-02-03

Schreibgeschwindigkeit

 $ dd if=/dev/zero of=./largefile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.82364 s, 223 MB/s
 

Blockgröße ist eigentlich ziemlich groß. Sie können es mit kleineren Größen wie 64k oder sogar 4k versuchen.


Lesegeschwindigkeit

Führen Sie den folgenden Befehl aus, um den Speichercache zu löschen

 $ sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
 

Lesen Sie nun die im Schreibtest erstellte Datei:

 $ dd if=./largefile of=/dev/null bs=4k
165118+0 records in
165118+0 records out
676323328 bytes (676 MB) copied, 3.0114 s, 225 MB/s
 

22


2016-05-05

einige tipps zur verwendung von bonnie ++

 bonnie++ -d [TEST_LOCATION] -s [TEST_SIZE] -n 0 -m [TEST_NAME] -f -b -u [TEST_USER] 
bonnie++ -d /tmp -s 4G -n 0 -m TEST -f -b -u james
 

Ein bisschen mehr unter: SIMPLE BONNIE ++ BEISPIEL .


14


2015-09-28

f3 - Blitzbetrug bekämpfen

Überprüfen Sie die Integrität, erkennen Sie gefälschte Flash-Laufwerke und testen Sie die Leistung - alles auf einen Schlag.

Mehr zu dieser Antwort .


1


2019-03-19