Hoe een USB Stick benchmarken onder Linux?

Pagina: 1
Acties:
  • 108 views sinds 30-01-2008
  • Reageer

  • Supremo
  • Registratie: Juli 2003
  • Laatst online: 09-09-2018
Onder Windows heb ik getest met DiskGraf.
Vooral het testen met verschillende block sizes geeft een goed inzicht.

Nu wou ik eens kijken of ik zoiets ook onder Linux kan doen, maar dat valt tot nu toe tegen.

Een simpele benchmark is hdparm -t en een stick geeft dan bijvoorbeeld 11,76 MB/s.
Nou heb ik gelezen dat dan ook het maximaal haalbare zou moeten zijn.

Nou boot ik met de Live DVD van Knoppix (V5) en dan heb je ook bonnie++.

Dus ik doe bijvoorbeeld:

bonnie++ -u root -s 10:512 -n 1 -b

Maar dan zie ik bijvoorbeeld bij Sequential Input

Per Chr
K/sec
14294

Nou lijkt me dat toch aan de hoge kant, gezien de benchmark van hdparm.

Verder heb ik het gevoel dat er veel gebufferd wordt naar de USB stick.

Zo heb ik ook wel wat lopen stoeien met dd, maar die cijfers zijn echt belachelijk hoog. Verder gebeurt het regelmatig dat wanneer ik bijvoorbeeld de test doe de prompt alweer terug is en dat ik pas later het lampje op de USB stick zie knipperen.

Nou ben ik niet bepaald Linux expert, dus weet iemand mij te vertellen wat er hier aan de hand is en wat ik eventueel kan doen zodat bonnie++ en dd mij cijfers teruggeven die "normaal" zijn?

Of is Linux echt veel sneller dan Windows? ;)

  • eth0
  • Registratie: Mei 2002
  • Laatst online: 15-09-2025
mount het eens met de optie sync, om buffer uit te sluiten. Maar das niet zo goed voor je flash drive.

En je kan nog wat met dd en blocksizes doen.

[ Voor 18% gewijzigd door eth0 op 22-12-2007 01:55 ]


  • tweakerbee
  • Registratie: Maart 2000
  • Laatst online: 29-01 11:53

tweakerbee

dus..?

Waarom is dat niet zo goed voor je drive? Omdat hij dan meer schrijfoperaties maakt dan met buffer?

You can't have everything. Where would you put it?


  • jealma
  • Registratie: Mei 2003
  • Niet online

jealma

Jesus is Lord!

(overleden)
Je zou een `dd if=/dev/zero of=/pad/naar/usbstick/file` kunnen doen, en dan gewoon een paar minuten laten lopen en dan op ctrl+c rammen. Dan krijg je netjes de snelheid in MB/s, en die komt aardig overeen met wat ze bijvoorbeeld op phoronix.com testen met vergelijkbare usb-sticks. Met sync-optie zou ook nog kunnen, zoals boven al is vermeld, maar als je dd gewoon een minuut of 2 laat lopen moet dat niet zoveel meer uitmaken.

Leessnelheid testen kan ook met dd, namelijk `dd if=/pad/naar/usbstick/file of=/dev/null`. In dit geval moet je geen ctrl+c gebruiken maar wachten tot dd klaar is, het bestand is namelijk niet oneindig, in tegenstelling tot de output van /dev/zero.

Avalon, Fireflight, Gaither, Point of Grace, Third Day
C2D E6400 @ 3GHz - Zalman CNPS8000 - GA-P35-DS3 - Corsair 2GB ram - Asus 9400GT - OCZ Vertex 30GB
Archlinux 64-bit + Awesome


  • Supremo
  • Registratie: Juli 2003
  • Laatst online: 09-09-2018
eth0 schreef op zaterdag 22 december 2007 @ 01:51:
mount het eens met de optie sync, om buffer uit te sluiten. Maar das niet zo goed voor je flash drive.

En je kan nog wat met dd en blocksizes doen.
De sync optie deed het hem.

Als ik bijvoorbeeld met async het volgende commando gaf, dan kreeg ik iets van 70MB/s!!!

dd bs=512 if=/dev/zero of=tstfile512 count=2048

Je kunt me veel vertellen, maar een USB stick die met block size 512 bytes schrijven die snelheid haalt, die bestaat nog lang niet.

Met sync viel hij terug naar ergens iets van 70KB/s. Dat was meer wat ik verwachtte. Voor de mensen die denken dat dat laag is, dat klopt. Deze stick is ook niet snel met schrijven. Maar probeer ook maar eens zelf met een "snelle" USB stick met sync en block size 512 bytes en het zal mij dan verbazen wanneer je hem boven de 1MB/s krijgt. Mocht dat lukken, dan wil ik graag weten welke USB stick dat is. :9~

Ik moet nog even prutsen met het benchmarken van de leessnelheid. Bij een verse boot dan krijg ik iets van 12,4MB/s, terwijl hdparm niet eens de 12MB/s haalt. Bij herhaling dan zit ik boven de 100MB/s, dus dan leest hij hem dus niet direct van de stick, maar uit de buffer. En bij de eerste test heb ik het vermoeden dat het bestand ook al in de buffer geplaatst wordt en dat er dan al vrij snel niet meer direct van de stick gelezen wordt maar uit de buffer.

Ik denk dat ik eerst maar eens het geheugen vol gooi (zorgen dat de buffer zo min mogelijk geheugen kan alloceren) en dan met dd gaan benchmarken. Kijken of het dan vergelijkbaar is met Diskgraf onder Windows.

In ieder geval bedankt voor de tip. :)

  • Supremo
  • Registratie: Juli 2003
  • Laatst online: 09-09-2018
Ik heb het gevoel dat ik nu toch nog tegen een probleem aan loop.

Al mijn schrijf testen met "dd" komen niet boven de 1,3 MB/s. Dat is dus gemount met optie "sync".

Ik heb het ook geprobeerd met een Sandisk Ultra II SD USB kaartje.
Volgens fabrieksopgave moet daar iets van 8MB/s schrijven mogelijk zijn.

Ik heb het met blocksizes 1M en 4M geprobeerd, maar dat mag niets helpen. Ik krijg hem niet boven de 1,3 MB/s. Als input gebruik ik /dev/zero.

Async krijg ik zulke hoge getallen (makkelijk 70 MB/s) dat deze dus niet bruikbaar zijn.

Iemand een idee waar dit aan kan liggen?
Pagina: 1