Lösung 1:
Transaktionen sind einzelne IO-Befehle (Block abrufen/Block schreiben), die auf die RAW-Festplatte geschrieben werden (in Ihrem Beispiel dm-0). Der Linux-Kernel versucht, diese Befehle in eine bessere Reihenfolge zu bringen oder versucht, sie in effizientere Befehle zu komprimieren (wie:zwei Blöcke auf einmal abrufen, anstatt einen Block zu erhalten und einen weiteren Block direkt nach diesem zu erhalten). Dies sind die Transaktionen, die an den Festplattencontroller gehen (tps für sda).
Gute Controller haben möglicherweise eine eigene Logik, die die tatsächliche Anzahl der Transaktionen weiter reduziert.
Eine Transaktion könnte zB der SCSI-Befehl "schreibe 2 GB auf Crontoller 1 Ziel 2 Lun 3 ab Sektor 22) sein. Wie man sieht kann dies nicht direkt mit Durchsatzzahlen in Zusammenhang gebracht werden.
Was Sie suchen, ist die anhaltende Schreibrate. Hier gibt es einige einschränkende Faktoren:
- Client-Verbindung:Wenn das Netzwerk Gigabit ist, werden Sie nie mehr als 100 MB/s Eingang haben
- Disk-Controller:Wenn dies ein 3-GB-Controller ist, werden Sie nie mehr als 300 MB/s Durchsatz haben
- Festplatte:Schlagen Sie den Herstellerwert für anhaltende Schreibleistung nach
- Dateisystem:Es gibt ein wenig Overhead, da das Betriebssystem Daten verarbeiten muss - testen Sie das in einer RAM-Disk...
Meine Vermutung für Ihr System ist: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.
Lösung 2:
Bitte beachten Sie auch, dass TPS
Wert stellt Lese- und Schreibvorgänge dar, Sie können -x
verwenden Schalter für erweiterte Ansicht, in der Lese- und Schreibvorgänge getrennt sind (r/s =Lese-IOPS, w/s =Schreib-IOPS):
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
vda 0.07 24.65 0.30 18.95 30.65 330.22 18.74 0.07 3.61 0.98 1.89