So testen Sie die Festplatten- und RAM-Geschwindigkeit Ihres Linux-Servers – CloudSavvy IT

Arjuna Kodisinghe / Shutterstock

Wenn Sie regelmäßig Dateien schreiben oder lesen, kann sich die Festplattengeschwindigkeit auf die Leistung Ihres Servers auswirken. Wir zeigen Ihnen, wie Sie die Geschwindigkeit Ihres Servers messen und wie Sie sich gegen die Konkurrenz behaupten können.

Wie wird die E / A-Leistung gemessen?

Es gibt viele verschiedene Möglichkeiten zum Lesen und Schreiben auf Datenträgern. Daher gibt es keine einzige Zahl für die „Geschwindigkeit“, die Sie messen können.

Der einfachste Weg, die Leistung zu messen, besteht darin, die Zeit festzulegen, die zum Lesen großer Dateien oder zum Durchführen großer Dateikopien benötigt wird. Dies misst die sequentielle Lese- und Schreibgeschwindigkeit, was eine gute Messgröße ist, aber in der Praxis werden Sie selten so hohe Geschwindigkeiten feststellen, insbesondere in einer Serverumgebung.

Eine bessere Metrik ist die Geschwindigkeit des wahlfreien Zugriffs, die misst, wie schnell Sie auf Dateien zugreifen können, die in zufälligen Blöcken gespeichert sind, und die reale Nutzung viel mehr nachahmt.

Liste der Lese- und Schreibgeschwindigkeiten.

SSDs haben im Vergleich zu Festplatten normalerweise schnelle Direktzugriffsgeschwindigkeiten, wodurch sie für den allgemeinen Gebrauch viel besser geeignet sind. Festplatten haben immer noch eine anständige sequentielle Lese- und Schreibgeschwindigkeit, was sie für die Archivierung und den Abruf von Daten gut macht.

Die Festplattenleistung spielt jedoch für bestimmte Workloads möglicherweise keine große Rolle. Viele Anwendungen speichern Objekte im Speicher zwischen (wenn Sie über genügend RAM verfügen). Wenn Sie dieses Objekt das nächste Mal lesen möchten, wird es stattdessen aus dem Speicher gelesen (was schneller ist). Bei schreibintensiven Workloads muss jedoch weiterhin auf die Festplatte zugegriffen werden.

Die Geschwindigkeit wird häufig in MB / s gemessen, aber bestimmte Anbieter messen möglicherweise in IOPS (Eingabe- / Ausgabeoperationen pro Sekunde). Dies ist einfach eine größere Zahl, die dasselbe bedeutet. Sie können herausfinden, welche IOPS von MB / s mit dieser Formel:

IOPS = (MBps / Block Size) * 1024

Einige Anbieter können Ihnen jedoch möglicherweise nicht genau sagen, welchen Benchmark sie für die Messung von IOPS verwenden. Daher ist es gut, die Tests selbst durchzuführen.

Installieren Sie fio für zufällige Lese- / Schreibtests

Während Linux das eingebaut hat dd Der Befehl, mit dem die sequentielle Schreibleistung gemessen werden kann, gibt keinen Hinweis darauf, wie er sich unter realen Belastungen verhält. Sie sollten stattdessen Ihre zufällige Lese- und Schreibgeschwindigkeit testen.

fio ist ein Dienstprogramm, das damit umgehen kann. Installieren Sie es über den Paketmanager Ihrer Distribution:

sudo apt-get install fio

Führen Sie dann einen Basistest mit dem folgenden Befehl aus:

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=250M --readwrite=randrw --rwmixread=80

Dies führt zufällige Lese- und Schreibtests mit 250 MB Daten mit einem Verhältnis von 80% Lesevorgängen zu 20% Schreibvorgängen durch. Die Ergebnisse werden in IOPS und in MB / s angezeigt:

Der obige Test wurde auf einem AWS ausgeführt gp2 SSD, eine ziemlich durchschnittliche SSD, die eine ziemlich durchschnittliche Leistung zeigt. Die Schreibleistung ist bei jeder Art von E / A immer geringer. Viele SSDs und HDDs verfügen über einen integrierten Cache, den der Laufwerkscontroller verwenden kann, wodurch viele Lesevorgänge relativ schnell ausgeführt werden. Wenn Sie jedoch schreiben, müssen Sie physische Änderungen am Laufwerk vornehmen, das langsamer ist.

Das Ausführen des Tests auf einer Festplatte zeigt eine geringe zufällige gemischte E / A-Leistung, was ein häufiges Problem bei Festplatten ist:

fio Festplatten-Testergebnisse

Festplatten werden jedoch normalerweise für große sequentielle Lese- und Schreibvorgänge verwendet, sodass ein zufälliger E / A-Test hier nicht mit dem Anwendungsfall übereinstimmt. Wenn Sie den Testtyp ändern möchten, können Sie ein anderes Argument für übergeben --readwrite. fio unterstützt viele verschiedene Tests:

  • Sequentielles Lesen: seqread
  • Sequentielles Schreiben:seqwrite
  • Zufällige Lektüre: randread
  • Zufälliges Schreiben: randwrite
  • Zufällige gemischte E / A: randrw

Zusätzlich können Sie die Blockgröße mit dem ändern --bs Streit. Wir setzen es auf 4K, was für zufällige Tests ziemlich Standard ist, aber sequentielle Lese- und Schreibvorgänge können bei größeren Blockgrößen eine bessere oder schlechtere Leistung zeigen. Die Größen 16 KB bis 32 KB sind möglicherweise näher an dem, was Sie unter realer Last antreffen.

Testen der Speicherleistung

fio Die RAM-Geschwindigkeit kann nicht getestet werden. Wenn Sie also den RAM Ihres Servers vergleichen möchten, müssen Sie ihn installieren sysbench vom Paketmanager Ihrer Distribution:

sudo apt-get install sysbench

Dieses Paket kann viele Leistungsmetriken vergleichen, aber wir konzentrieren uns nur auf den Speichertest. Der folgende Befehl weist 1 MB RAM zu und führt dann Schreibvorgänge aus, bis 10 GB Daten geschrieben wurden. (Keine Sorge, Sie benötigen keine 10 GB RAM, um diesen Benchmark durchzuführen.)

sysbench --test=memory --memory-block-size=1M --memory-total-size=10G run

Dies zeigt die Speichergeschwindigkeit in MiB / s sowie die damit verbundene Zugriffslatenz an.

Ergebnisse des Tests der Speichergeschwindigkeit in MiB / s sowie der damit verbundenen Zugriffslatenz.

Dieser Test misst die Schreibgeschwindigkeit, aber Sie können hinzufügen --memory-oper=read um die Lesegeschwindigkeit zu messen, die die meiste Zeit etwas höher sein sollte. Sie können auch mit niedrigeren Blockgrößen testen, wodurch der Speicher stärker belastet wird.

Realistisch gesehen ist der größte Teil des Arbeitsspeichers jedoch gut genug, um fast alles auszuführen, und Sie werden normalerweise mehr durch die Größe des Arbeitsspeichers als durch die tatsächliche Geschwindigkeit begrenzt.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.