it-swarm-eu.dev

Jak zkontrolovat výkon pevného disku

Jak zkontrolovat výkon pevného disku (prostřednictvím terminálu nebo GUI). Rychlost zápisu. Rychlost čtení. Velikost a rychlost mezipaměti. Náhodná rychlost.

352
Luis Alvarado

Metoda terminálu

hdparm je dobré místo, kde začít.

Sudo hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads:   12540 MB in  2.00 seconds = 6277.67 MB/sec
Timing buffered disk reads: 234 MB in  3.00 seconds =  77.98 MB/sec

Sudo hdparm -v /dev/sda poskytne také informace.

dd vám poskytne informace o rychlosti zápisu.

Pokud jednotka nemá systém souborů (a pouze tehdy ), použijte of=/dev/sda.

Jinak jej připojte na/tmp a zapište a poté odstraňte výstupní soubor testu.

dd if=/dev/zero of=/tmp/output bs=8k count=10k; rm -f /tmp/output

10240+0 records in
10240+0 records out
83886080 bytes (84 MB) copied, 1.08009 s, 77.7 MB/s

Grafická metoda

  1. Přejděte do části Systém -> Správa -> Disk Utility.
    • Případně spusťte utilitu disku Gnome z příkazového řádku spuštěním gnome-disks
  2. V levém podokně vyberte pevný disk.
  3. Nyní klikněte na tlačítko „Benchmark - Measure Drive Performance“ v pravém podokně.
  4. Otevře se nové okno s grafy. Najdete a dvě tlačítka. Jeden je pro “Start Read Only Benchmark” a druhý je “Start Read/Write Benchmark”. Když kliknete na jakékoli tlačítko, spustí se testování pevného disku.

test

Jak porovnat disk I/O

článek

Chceš ještě něco?

446
Panther

Suominen má pravdu, měli bychom použít nějakou synchronizaci; ale existuje jednodušší metoda, conv = fdatasync provede tuto práci:

dd if=/dev/zero of=/tmp/output conv=fdatasync bs=384k count=1k; rm -f /tmp/output
1024+0records in
1024+0 records out
402653184 bytes (403 MB) copied, 3.19232 s, 126 MB/s
104
Tele

Nedoporučoval bych používat /dev/urandom protože je to softwarové a pomalé jako prase. Je lepší vzít hromadu náhodných dat na ramdisk. Na testování pevného disku na náhodném nezáleží, protože každý bajt je zapsán tak, jak je (také na ssd s dd). Pokud však testujeme dedupped zfs pool s čistě nulovými nebo náhodnými daty, existuje obrovský rozdíl ve výkonu.

Dalším hlediskem musí být zahrnutí synchronizačního času; všechny moderní souborové systémy používají ukládání souborů do mezipaměti.

Abychom skutečně změřili rychlost disku a ne paměť, musíme synchronizovat souborový systém, abychom se zbavili efektu ukládání do mezipaměti. To lze snadno provést:

time sh -c "dd if=/dev/zero of=testfile bs=100k count=1k && sync"

s touto metodou získáte výstup:

sync ; time sh -c "dd if=/dev/zero of=testfile bs=100k count=1k  && sync" ; rm testfile 
1024+0 records in
1024+0 records out
104857600 bytes (105 MB) copied, 0.270684 s, 387 MB/s

real    0m0.441s
user    0m0.004s
sys 0m0.124s

takže datový datový disk je pouze 104857600/0,441 = 237772335 B/s -> 237 MB/s

To je o více než 100 MB/s nižší než při ukládání do mezipaměti.

Šťastný benchmarking,

52
Pasi Suominen

Pokud chcete přesnost, měli byste použít fio . Vyžaduje si přečtení manuálu (man fio), ale dá vám přesné výsledky. Uvědomte si, že pro jakoukoli přesnost je třeba přesně určit, co chcete měřit. Nějaké příklady:

Sekvenční rychlost čtení READ s velkými bloky (toto by se mělo blížit číslu, které vidíte ve specifikacích vašeho disku):

fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting

Sekvenční rychlost WRITE s velkými bloky (toto by mělo být blízko čísla, které vidíte ve specifikacích vašeho disku):

fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=write --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting

Náhodné 4K čtení QD1 (toto je číslo, které je opravdu důležité pro výkon ve skutečném světě, pokud si nejste jisti, že to víte lépe):

fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting

Smíšené náhodné 4K čtení a zápis QD1 se synchronizací (toto je nejhorší číslo, které byste kdy očekávali od vašeho disku, obvykle méně než 1% uvedených čísel ve specifikačním listu):

fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=randrw --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting

Zvyšte --size argument pro zvětšení velikosti souboru. Použití větších souborů může snížit počet získaných v závislosti na technologii jednotky a firmwaru. Malé soubory poskytnou "příliš dobré" výsledky pro rotační média, protože čtecí hlava se nemusí tolik pohybovat. Pokud je vaše zařízení téměř prázdné, použití souboru dostatečně velkého, aby téměř zaplnilo jednotku, vám při každém testu způsobí nejhorší chování. V případě SSD nezáleží na velikosti souboru tolik.

U některých paměťových médií však velikost souboru není tak důležitá jako celkový počet bajtů zapsaných během krátkého časového období. Například některé SSD mohou mít výrazně rychlejší výkon s předem vymazanými bloky nebo mohou mít malou oblast flash flash, která se používá jako mezipaměť pro zápis a výkon se změní, jakmile je plná mezipaměť SLC. Jako další příklad, Seagate SMR HDD mají asi 20 GB PMR mezipaměť, která má docela vysoký výkon, ale jakmile se naplní, zápis přímo do SMR oblasti může snížit výkon na 10% z originálu. Jediným způsobem, jak vidět tuto výkonnostní degraci, je nejprve napsat 20+ GB co nejrychleji. To vše samozřejmě záleží na vaší pracovní zátěži: pokud váš přístup pro zápis je prasklý s dlouhými zpožděními, která umožňují zařízení vyčistit interní mezipaměť, kratší testovací sekvence budou lépe odrážet výkon vašeho skutečného světa. Pokud potřebujete udělat hodně IO, musíte zvýšit oba --io_size a --runtime parametry. Uvědomte si, že některá média (např. Většina flashových zařízení) budou při tomto testování zvlášť opotřebována. Domnívám se, že pokud je jakékoli zařízení dostatečně chudé na to, aby nezvládalo tento druh testování, nemělo by se v žádném případě používat k uchovávání hodnotných údajů.

Některá vysoce kvalitní zařízení SSD mohou mít navíc ještě více inteligentní algoritmy pro vyrovnávání opotřebení, kde interní mezipaměť SLC má dostatek inteligentních dat, aby nahradila data na místě, která se znovu zapisují během testu, pokud zasáhne stejný adresový prostor (tj. Testovací soubor) je menší než celková mezipaměť SLC). U těchto zařízení začne opět záležet na velikosti souboru. Pokud potřebujete skutečné pracovní vytížení, je nejlepší testovat s velikostmi souborů, které ve skutečnosti uvidíte. Jinak by vaše čísla mohla vypadat příliš dobře.

Všimněte si, že fio vytvoří požadovaný dočasný soubor při prvním spuštění. Bude naplněna náhodnými daty, aby se zabránilo příliš dobrým číslům ze zařízení, která podvádějí komprimací dat před jejich zápisem do trvalého úložiště. Dočasný soubor se bude jmenovat fio-tempfile.dat ve výše uvedených příkladech a uloženo v aktuálním pracovním adresáři. Nejprve byste tedy měli přejít na adresář připojený k zařízení, které chcete otestovat.

Pokud máte dobrý SSD a chcete vidět ještě vyšší čísla, zvyšte --numjobs výše. To definuje souběžnost čtení a zápisu. Všechny výše uvedené příklady mají numjobs nastaveno na 1 takže test se týká čtení a zápisu procesů s jedním vláknem (pravděpodobně s frontou nastavenou na iodepth). Špičkové disky SSD (např. Intel Optane) by měly získat vysoká čísla i bez toho, že by se hodnota numjobs hodně zvýšila (např. 4 by mělo stačit k získání nejvyšších čísel spec), ale některé „Enterprise“ SSD vyžadují přechod na 32-128 pro získání čísel spec, protože vnitřní latence těchto zařízení je vyšší, ale celková propustnost je šílená.

43

Pokud chcete sledovat rychlost čtení a zápisu na disk v reálném čase, můžete použít nástroj iotop .

To je užitečné pro získání přesných informací o výkonu disku pro konkrétní aplikaci nebo úkol. Výstup vám ukáže rychlost čtení/zápisu na proces a celkovou rychlost čtení/zápisu pro server, podobně jako top.

Chcete-li nainstalovat iotop:

Sudo apt-get install iotop  

Chcete-li to spustit:

Sudo iotop
37
Lars

bonnie ++ je konečný nástroj, který vím pro linux.

(V současné době připravuji linux livecd při práci s bonnie ++ na něm, abychom s ním otestovali náš počítač se systémem Windows!)

Postará se o ukládání do mezipaměti, synchronizaci, náhodná data, náhodné umístění na disku, aktualizace malých rozměrů, velké aktualizace, čtení, zápisy atd. Porovnání usbkey, harddisku (rotační), jednotky SSD a RAM souborový systém může být pro nováčka velmi poučný.

Nemám tušení, jestli je součástí Ubuntu, ale můžete jej snadno zkompilovat ze zdroje.

http://www.coker.com.au/bonnie++/

25
Corto

Rychlost zápis

$ dd if=/dev/zero of=./largefile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.82364 s, 223 MB/s

Velikost bloku je ve skutečnosti poměrně velká. Můžete zkusit s menšími velikostmi, jako je 64 k nebo dokonce 4 k.


Rychlost čtení

Spusťte následující příkaz a vymažte mezipaměť paměti

$ Sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

Nyní si přečtěte soubor, který byl vytvořen při testu zápisu:

$ dd if=./largefile of=/dev/null bs=4k
165118+0 records in
165118+0 records out
676323328 bytes (676 MB) copied, 3.0114 s, 225 MB/s
22
Limon Monte

několik rad, jak používat bonnie ++

bonnie++ -d [TEST_LOCATION] -s [TEST_SIZE] -n 0 -m [TEST_NAME] -f -b -u [TEST_USER] 
bonnie++ -d /tmp -s 4G -n 0 -m TEST -f -b -u james

Trochu více na: JEDNODUCHÝ BONNIE ++ PŘÍKLAD .

14
nyxee

f3 - Fight Flash Fraud

Zkontrolujte integritu, detekujte falešné jednotky flash a testujte výkon, všechny tři v jednom záběru.

Více na tato odpověď .

1
Pablo Bianchi