So testen Sie die Festplattengeschwindigkeit und den RAM Ihres Linux-Servers

Inhalt

Server-Rack-Installation

Wenn Sie regelmäßig Dateien schreiben oder lesen, die Geschwindigkeit Ihrer Festplatte kann die Leistung Ihres Servers beeinträchtigen. Wir zeigen Ihnen, wie Sie Ihre Servergeschwindigkeit messen und verstehen, wie sie im Vergleich zur Konkurrenz abschneidet.

Wie misst man die IO-Leistung?

Es gibt viele verschiedene Möglichkeiten, Discs zu lesen und zu beschreiben, Es gibt also keine einzelne Nummer für die “Geschwindigkeit” Es gibt also keine einzelne Nummer für die.

Der einfachste Weg, die Leistung zu messen, besteht darin, die Zeit zu messen, die zum Lesen großer Dateien oder zum Erstellen von Kopien großer Dateien benötigt wird. Dies misst die sequentielle Lese- und Schreibgeschwindigkeit, was ist eine gute kennzahl zu wissen, aber so hohe Geschwindigkeiten werden Sie in der Praxis selten sehen, insbesondere in einer Serverumgebung.

Eine bessere Metrik ist die Direktzugriffsgeschwindigkeit, die misst, wie schnell Sie in Dateien gelangen, die in zufälligen Blöcken gespeichert sind, viel mehr imitieren die Nutzung in der realen Welt.

Liste der Lese- und Schreibgeschwindigkeiten.

SSDs haben im Vergleich zu Festplatten in der Regel schnelle Direktzugriffsgeschwindigkeiten, wodurch sie viel besser für den allgemeinen Gebrauch geeignet sind. Festplatten haben immer noch ordentliche sequentielle Lese- und Schreibgeschwindigkeiten, das macht sie gut für die Datenarchivierung und -wiederherstellung.

Trotz dieses, Die Festplattenleistung spielt bei bestimmten Workloads möglicherweise keine große Rolle.. Viele Anwendungen cachen Objekte (wenn du genug RAM hast), Also das nächste Mal, wenn Sie dieses Objekt lesen möchten, wird aus dem Speicher gelesen (Welche ist schneller). Trotz dieses, für schreibintensive Workloads, Datenträger muss noch eingegeben werden.

Geschwindigkeit wird oft in MB . gemessen / S, aber einige Anbieter können IOPS messen (Eingabeoperationen / Ausgabe pro Sekunde). Dies ist einfach eine größere Zahl, die dasselbe bedeutet.; kann herausfinden, was MB IOPS / s mit dieser Formel:

IOPS = (MBps / Block Größe) * 1024

Trotz dieses, Einige Anbieter können Ihnen möglicherweise nicht genau sagen, welchen Benchmark sie zur Messung der IOPS verwenden, Also gut, dass du es selbst machst.

Installieren Sie fio für Lesetests / zufälliges Schreiben

Obwohl Linux eingebaute dd , mit dem die sequentielle Schreibleistung gemessen werden kann, kein Hinweis darauf, wie es sich unter realen Belastungen verhalten wird. Stattdessen, Sie möchten 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

Anschließend, Führen Sie einen grundlegenden Test 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, im Verhältnis von 80% von Lesungen zu 20% von Taten. Die Ergebnisse werden in IOPS und MB . angezeigt / S:

Der obige Test lief auf einem AWS gp2 SSD, eine ziemlich durchschnittliche SSD, eine ziemlich durchschnittliche Leistung zeigen. Die Schreibleistung wird bei jeder Art von E . immer geringer sein / S; viele SSDs und HDDs verfügen über einen integrierten Cache-Speicher zur Verwendung durch den Laufwerkscontroller, was viele Reads recht schnell macht. Trotz dieses, immer wenn ich schreibe, Sie müssen physische Änderungen am Gerät vornehmen, was ist langsamer.

Das Ausführen des Tests auf einer Festplatte zeigt eine schlechte E-Performance / Zufällig gemischt s, was ein häufiges Hindernis bei Festplatten ist:

fio-Festplattentestergebnisse

Trotz dieses, Festplatten werden regelmäßig für große sequentielle Lese- und Schreibvorgänge verwendet, also ein E-Test / Random S passt hier nicht zum Anwendungsfall. Wenn Sie die Testart ändern möchten, Sie können ein anderes Argument an übergeben --readwrite. fio unterstützt viele verschiedene Tests:

  • Sequentielles Lesen: seqread
  • Sequentielles Schreiben:seqwrite
  • Zufälliges Lesen: randread
  • Zufälliges Schreiben: randwrite
  • Zufällig gemischte IO: randrw

Zur selben Zeit, Sie können die Größe des Blocks mit der ändern --bs Streit. Wir stellen es auf 4K, was für Zufallstests ziemlich Standard ist, aber sequenzielle Lese- und Schreibvorgänge können bei größeren Blockgrößen eine bessere oder schlechtere Leistung zeigen. Die Größen von 16 KB a 32 KB ist möglicherweise näher an dem, was Sie unter tatsächlicher Last finden.

Speicherleistungstest

fio Ram-Geschwindigkeit kann nicht getestet werden, Wenn Sie also Ihren Server-RAM vergleichen möchten, muss installieren sysbench vom Paketmanager Ihrer Distribution:

sudo apt-get install sysbench

Dieses Paket kann viele Leistungskennzahlen vergleichen, aber wir konzentrieren uns nur auf den Gedächtnistest. Der folgende Befehl weist 1 MB de RAM, dann führt es Schreiboperationen durch, bis es geschrieben hat 10 GB Daten (mach dir keine Sorgen, braucht nicht 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.

Ergebnisse von Speichergeschwindigkeitstests in MiB / S, sowie die damit verbundene Zugriffslatenz.

Dieser Test misst die Schreibgeschwindigkeit, aber du kannst hinzufügen --memory-oper=read um die Lesegeschwindigkeit zu messen, der sollte meistens etwas höher sein. Sie können auch kleinere Blockgrößen ausprobieren, Was belastet das Gedächtnis mehr?.

Trotz dieses, realistisch, Der größte Teil des Arbeitsspeichers wird gut genug sein, um so ziemlich alles auszuführen, und im Allgemeinen wird es mehr durch die Menge an RAM als durch die tatsächliche Geschwindigkeit begrenzt.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.