Differences between revisions 2 and 3
Revision 2 as of 2007-08-20 21:29:41
Size: 4856
Editor: Kurgan
Comment:
Revision 3 as of 2009-04-12 17:33:24
Size: 4856
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

Speed Tests

Questi sono i valori di velocita` di accesso a diversi device usando diverse tecnologie di interfaccia.

Questi test sono stati fatti allo scopo di avere un'idea della massima velocita` di i/o reale di diverse interfacce, per poter fare una stima "nasuale" (a naso) di quanto tempo occorre per copiare grosse quantita` di dati fra diversi dischi. Ovviamente sono da prendere per quello che sono, cioe` test fatti su uno specifico hardware che non rappresentano necessariamente la velocita` del vostro hardware.

Test 1

Setup: una macchina P4 2600 con chipset Intel, controller IDE ATA100 e SATA (non sata2), boot con live Linux Knoppix kernel 2.6.19

  • dd if=/dev/hda of=/dev/null (massima velocita` di lettura da un disco IDE 7200 giri) 59 MB/sec ovvero 3,4 GB/min
  • dd if=/dev/sda of=/dev/null (massima velocita` di lettura da un disco SATA 7200 giri) 76 MB/sec ovvero 4,6 GB/min

Provando con bs=1K, bs=128K o bs=1M (block size di dd) c'e` un miglioramento limitato, i valori passano a 78 MB/sec per il SATA e restano invariati per l' IDE. Vale la pena di notare che fra 1 K e 1 M di blocksize cambia ben poco, anche se con 1 M c'e` comunque un miglioramento.

Test 2

Setup: una macchina P4 2600 con chipset Intel, controller IDE ATA100 e SATA (non sata2), boot con live Linux Knoppix kernel 2.6.19

  • dd if=/dev/hda of=/dev/sda (copia da IDE a SATA) 16,4 MB/sec. Pietoso
  • dd if=/dev/hda of=/dev/sda bs=1M (copia da IDE a SATA con block size di 1M) 58 MB/sec ovvero 3,4 GB/min. Valido, vicino al limite max della lettura da IDE.

Provando con bs=1K la velocita` e` molto bassa. Qui un block size grande fa una enorme differenza. La CPU resta carica al 30% massimo.

Test 3

Setup: una macchina P4 2600 con chipset Intel, controller IDE ATA100 e SATA (non sata2), boot con live Linux Knoppix kernel 2.6.19.

  • dd if=/dev/hda bs=1M | ssh localhost dd of=/dev/sda bs=1M (copia via ssh da IDE a SATA su localhost con block size 1M) fa un patetico 16,5 MB/sec ovvero 1 GB/min.
  • dd if=/dev/hda | ssh localhost dd of=/dev/sda (copia via ssh da IDE a SATA su localhost) fa un patetico 10 MB/sec ovvero 0,7 GB/min.

Passando per SSH le prestazioni colano a picco qualsiasi block size si usi, anche se con size grosse va ancora molto meglio che con size piccole. La CPU e` impegnata all'80% ma non e` ancora a tappo.

Test 4

Setup: una macchina P4 2600 con chipset Intel, controller IDE ATA100 e SATA (non sata2), boot con live Linux Knoppix kernel 2.6.19

  • dd if=/dev/hda bs=1M | netcat localhost 666 e su un'altra console avevo lanciato netcat -l -p 666 | dd of=/dev/sda bs=1M (dd su netcat su localhost) 58,7 MB/sec ovvero 3,5 GB/min

Passando per netcat le prestazioni sono ottime, almeno su localhost. Un md5 della sorgente e della destinazione mostra che non ci sono errori di trasmissione.

Test 5

Setup: una macchina P4 2600 con chipset Intel, controller IDE ATA100 e SATA (non sata2), NIC Intel E1000, boot con live Linux Knoppix kernel 2.6.19 e una macchina con chipset VIA, controller IDE ATA100, CPU AMD Athlon 1600 MHz (reali), NIC Intel E1000, boot con live Linux Knoppix kernel 2.6.17. Le macchine sono connesse con un cavo cross a 1 GB. Il disco IDE e` installato sull' AMD, e il SATA sul P4.

  • Sull' AMD: dd if=/dev/hda bs=1M | netcat 192.168.0.1 666 (dd su netcat verso il remoto con block size 1M)
  • Sul P4: netcat -l -p 666 | dd of=/dev/sda bs=1M (netcat in ascolto sulla 666 che passa a dd)

Questo test da` una velocita` sostenuta di 27 MB/sec, ovvero 1,6 GB/min. Il decadimento di prestazioni dipende dall'uso dell'ethernet, perche` la macchina piu` lenta (l' AMD) riesce comunque a leggere dal disco a 59MB/sec (dd if=/dev/hda of=/dev/null bs=1M). Facendo un controllo con iptraf si vede che evidentemente ci sono delle ritrasmissioni sul TCP, perche` la packet size non e` sempre 1500. Non ci sono comunque errori a livello di ifconfig, quindi direi che sia il buffer di RX che si riempie.

Provando con diverse block size, anche meno dell' MTU della ethernet, purtroppo non si riesce a migliorare la velocita` oltre i 28 MB/sec (con 512K di block size)

Test 6

Setup: una macchina P4 2600 con chipset Intel, controller IDE ATA100 e SATA (non sata2), boot con live Linux Knoppix kernel 2.6.19. Il disco sdb e` un disco USB2 esterno da 2,5 pollici Western Digital

  • dd if=/dev/sdb of=/dev/null bs=1M (sdb e` un disco USB2 esterno, quindi da usb2 a dev/null): 30 MB/sec ovvero 1,8 GB/minuto
  • dd if=/dev/sdb of=/dev/sda bs=1M (sdb e` un disco USB2 esterno, quindi da usb2 a SATA): 30 MB/sec ovvero 1,8 GB/minuto

La velocita` massima dell' USB2 e` chiaramente il limite qui. Scrivere su un disco SATA o scrivere su /dev/null non fa nessuna differenza.

HardWare/SpeedTests (last edited 2009-04-12 17:33:24 by localhost)