Řešení 1:
Transakce jsou jednotlivé IO-příkazy (fetch block/write block), které se zapisují na RAW-disk (ve vašem příkladu dm-0). Linux-kernel se snaží tyto příkazy seřadit do lepší sekvence nebo se je snaží zkomprimovat do účinnějších příkazů (např.:získejte dva bloky najednou místo získejte jeden blok a získejte další blok hned po tomto). Toto jsou transakce, které jdou do řadiče disku (tps pro sda).
Dobří kontroloři mohou mít svou vlastní logiku, která dále snižuje skutečný počet transakcí.
Transakcí může být příkaz SCSI "zapište 2 GB do crontolleru 1 target 2 lun 3 počínaje sektorem 22). Jak vidíte, nelze to uvést do přímé korelace s čísly propustnosti.
To, co hledáte, je trvalá rychlost zápisu. Zde máte několik omezujících faktorů:
- klientské připojení:Pokud je síť gigabitová, nikdy nebudete mít vstup vyšší než 100 MB/s
- řadič disku:Pokud se jedná o 3Gb řadič, nikdy nebudete mít propustnost vyšší než 300 MB/s
- disk:Vyhledejte hodnotu výrobce pro trvalý výkon zápisu
- Systém souborů:Existuje trochu režie, protože operační systém potřebuje zpracovávat data – otestujte to na disku RAM...
Můj odhad pro váš systém je:Získejte dobrý hardwarový raidový řadič, který je schopen provádět raid 10 nebo 5 a získejte alespoň 6 rychlých (15k) disků.
Pro profesionální použití použijte SAS místo SATA.
Řešení 2:
Také mějte na paměti, že TPS
hodnota představuje čtení a zápis, můžete použít -x
přepínač pro rozšířené zobrazení, kde jsou čtení a zápis odděleny (r/s =čtení IOPS, w/s =zápis 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