GNU/Linux >> Linux Esercitazione >  >> Linux

Relazione tra IOPS su disco e sar tps

Soluzione 1:

Le transazioni sono singoli comandi IO (fetch block/write block) che vengono scritti sul disco RAW (nel tuo esempio dm-0). Il linux-kernel cerca di ordinare quei comandi in una sequenza migliore o cerca di comprimerli in comandi più efficienti (come:ottieni due blocchi contemporaneamente invece di ottenere un blocco e ottenere un altro blocco subito dopo questo). Queste sono le transazioni che vanno al controller del disco (tps per sda).

I buoni controllori possono avere una propria logica che riduce ulteriormente il numero reale di transazioni.

Una transazione potrebbe essere il comando SCSI "scrivi 2 GB a crontoller 1 target 2 lun 3 a partire dal settore 22). Come puoi vedere, questo non può essere messo in correlazione diretta con i numeri di throughput.

Quello che stai cercando è la velocità di scrittura sostenuta. Hai un paio di fattori limitanti qui:

  • connessione client:se la rete è Gigabit non avrai mai più di 100 MB/s in ingresso
  • disk-controller:se si tratta di un controller da 3 Gb, non avrai mai un throughput superiore a 300 MB/s
  • disco:cerca il valore del produttore per prestazioni di scrittura sostenute
  • Filesystem:c'è un piccolo sovraccarico poiché il sistema operativo deve elaborare i dati - provalo in un disco RAM...

La mia ipotesi per il tuo sistema è:procurati un buon controller raid hardware in grado di eseguire raid 10 o 5 e ottieni almeno 6 dischi veloci (15k).

Per uso professionale usa SAS invece di SATA.

Soluzione 2:

Tieni inoltre presente che TPS value rappresenta letture e scritture, puoi usare -x switch per la visualizzazione estesa in cui le letture e le scritture sono separate (r/s =read IOPS, w/s =write 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

Linux
  1. Differenza tra Eot ed Eof?

  2. Differenza tra [0-9], [[:digit:]] e D?

  3. Differenza tra le applicazioni Gtk e Qt?

  4. Differenza tra dimensione del blocco e dimensione del cluster?

  5. Differenza tra tubazioni ed espansione dei comandi?

Risoluzione dei problemi di server lenti:come controllare CPU, RAM e I/O del disco

Differenza tra apt e apt-get spiegato

Vim vs Vi:somiglianze e differenze tra VIM e VI?

Le prestazioni contano:in che modo il throughput del disco e gli IOPS influiscono sulla tua attività

Differenza tra $HOME e '~' (tilde)?

differenza tra cgroup e namespace