TL;DR Selbst wenn es sich um verschiedene Ebenen wie Betriebssystem und Middleware handelt, ist die Lese- / Schreibgeschwindigkeit der Festplatte immer ein Faktor, der einen Engpass darstellen kann. Einführung einer einfachen Methode zur Messung des Festplattendurchsatzes, wenn Sie den Verdacht haben, dass eine Festplatte der Engpass ist.
dd
und pv
gemessen werden.Als Beispiel halte ich es für nützlich, die eingeführte Methode zu untersuchen, wenn der Komprimierungsprozess aus irgendeinem Grund langsam ist, wenn der Dateikomprimierungsprozess durchgeführt wird.
Der Lesedurchsatz kann gemessen werden, indem der Befehl "dd" verwendet wird, um die zu messende Festplatte auf "if" zu setzen und "/ dev / null" für "of" anzugeben. Beachten Sie übrigens, dass es sich um einen "dd" -Befehl handelt. Daher ist es wichtig zu wissen, dass es sich um einen sequentiellen Zugriff handelt.
/ dev / sda1
dd if=/dev/sda1 of=/dev/null bs=16k status=progress
Die Ausgabe wird wie folgt sein.
584122368 bytes (584 MB) copied, 4.61756 s, 127 MB/s
Das oben eingeführte Verfahren führt zu einer nahezu reinen Plattengeschwindigkeit. Wie im Beispiel der Verwendungsszene möchten Sie beispielsweise bei einem langsamen Komprimierungsprozess möglicherweise unterscheiden, ob es sich um eine reine Festplattengeschwindigkeit handelt oder ob der Komprimierungsprozess ein Engpass und ein langsamer Vorgang ist. In einem solchen Fall ist der Befehl "pv", der die Verarbeitungsgeschwindigkeit jedes Befehls messen kann, wirksam.
Der Befehl pv
ist ein Befehl, der die Datenmenge misst, die eine Pipe kreuzt, wenn eine Pipe-Verarbeitung durchgeführt wird. Wenn Sie beispielsweise das folgende Beispiel haben, können Sie die Datenmenge überprüfen, die vom Befehl "tar" an den Befehl "lz4" übergeben wird, dh wie schnell die Verarbeitung des Befehls "tar" ausgeführt wird. Auf diese Weise kann festgestellt werden, ob der Befehl "tar" der Engpass oder der Befehl "lz4" der Engpass ist, wenn die Ausführungsgeschwindigkeit der folgenden Befehle aus irgendeinem Grund langsam ist.
tar -b 256 -cvf - /data/ | lz4 -c
Sie können messen, indem Sie den Befehl pv
zwischen die zu messenden Rohre einfügen, wie unten gezeigt.
tar -b 256 -cvf - /data/ | pv | lz4 -c > /dev/null
lz4
tar -b 256 -cvf - /data/mysql/ | lz4 -c | pv > /dev/null
Die Ausgabe wird wie folgt sein.
8.66GiB 0:00:04 [2.19GiB/s] [ <=> ]
Ich denke, es gibt viele Möglichkeiten, die Leistung einer Festplatte zu messen, aber dieses Mal habe ich die oben beschriebene Methode eingeführt, um sie auf einfache Weise zu überprüfen. Es gibt verschiedene Arten des Festplattenzugriffs, z. B. "Lesen", "Schreiben", "Zufälliges E / A", "Sequentielles E / A" und Geschwindigkeitsindex "IOPS", "Durchsatz", also immer "Was ist diesmal?" Wenn Sie wissen, dass "Ist dies ein Prozess, der ein Zugriffsmuster verursacht?", Können Sie sich der Entdeckung von Engpässen problemlos nähern.
Recommended Posts