Ich versuche, die IOPS-Anforderungen meiner Anwendung zu schätzen, die auf 32-Bit-CentOS 6.2 ausgeführt wird. Ich habe angefangen, auf einer Maschine mit SATA-Festplatten einige Messungen durchzuführen, und ich bin ziemlich verwirrt über den Unterschied zwischen IOPS und tps, gemessen von sar.
Laut Wikipedia soll die SATA-Festplatte 75-100 IOPS leisten. Das Dienstprogramm ioping scheint dies für den Direktzugriffstest zu bestätigen:
# ./ioping -R /dev/sda
--- /dev/sda (device 931.0 Gb) ioping statistics ---
279 requests completed in 3.0 s, 92 iops, 371.3 kb/s
min/avg/max/mdev = 2.7 ms / 10.8 ms / 130.8 ms / 7.9 ms
Aber die von sar erzeugten tps-Werte sind viel höher (/ dev / sda):
# iostat 1
avg-cpu: %user %nice %system %iowait %steal %idle
0.17 0.00 2.02 14.86 0.00 82.96
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 559.00 0.00 142600.00 0 142600
dm-0 18433.00 0.00 147464.00 0 147464
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
Es macht nichts aus, wenn diese Last sequentiell (dd mit verschiedenen Blockgrößen) oder zufällig (ioping) ist, der Wert ist immer noch der gleiche. Ich dachte, tps ist eigentlich IOPS und ich würde erwarten, dass es mit größeren übertragenen Stücken sinkt.
Was genau bedeutet der tps-Wert? Und in welcher Beziehung steht es zu IOPS?
quelle
Antworten:
Transaktionen sind einzelne E / A-Befehle (Abrufblock / Schreibblock), die auf die RAW-Platte geschrieben werden (in Ihrem Beispiel dm-0). Der Linux-Kernel versucht, diese Befehle in eine bessere Reihenfolge zu bringen oder sie in effizientere Befehle zu komprimieren (wie: zwei Blöcke auf einmal anstatt einen Block zu bekommen und einen anderen Block direkt nach diesem zu bekommen). Dies sind die Transaktionen, die an den Festplattencontroller gesendet werden (tps für sda).
Gute Controller haben eine eigene Logik, die die tatsächliche Anzahl der Transaktionen weiter reduziert.
Eine Transaktion könnte der SCSI-Befehl "Write 2 GB to Crontoller 1 Target 2 Lun 3 ab Sektor 22) sein. Wie Sie sehen, kann dies nicht in direkten Zusammenhang mit Durchsatzzahlen gebracht werden.
Was Sie suchen, ist die anhaltende Schreibrate. Hier gibt es einige einschränkende Faktoren:
Ich vermute für Ihr System: Besorgen Sie sich einen guten Hardware-Raid-Controller, der Raid 10 oder 5 ausführen kann, und besorgen Sie sich mindestens 6 schnelle (15k) Festplatten.
Verwenden Sie für den professionellen Einsatz SAS anstelle von SATA.
quelle
Beachten Sie auch, dass der
TPS
Wert Lese- und Schreibvorgänge darstellt. Sie können den-x
Schalter für die erweiterte Ansicht verwenden, wenn Lese- und Schreibvorgänge getrennt sind (r / s = Lese-IOPS, w / s = Schreib-IOPS):quelle