Linux i Unix Test disk I/O Performance With dd Command

jak Mogę używać polecenia dd na Linuksie do testowania wydajności We / Wy mojego dysku twardego? Jak sprawdzić wydajność dysku twardego, w tym prędkość odczytu i zapisu w systemach operacyjnych Linux? Jak Mogę używać polecenia dd pod Linuksowym testem wydajności I/O?
możesz użyć następujących poleceń na systemach Linux lub Unix-podobnych do prostego testu wydajności sekwencyjnych We / Wy:

  • Komenda dd : Służy do monitorowania wydajności zapisu urządzenia dyskowego w systemie Linux i Uniksopodobnym.
    szczegóły poradnika
    poziom trudności Średniozaawansowany (rss)
    uprawnienia roota tak
    wymagania dd
    czas 15m
  • polecenie hdparm: służy do pobierania / ustawiania parametrów dysku twardego, w tym testowania wydajności odczytu i buforowania urządzenia dyskowego w systemie Linux.

w tym samouczku dowiesz się, jak używać polecenia dd do testowania wydajności We/Wy dysku .

użyj polecenia dd do monitorowania wydajności odczytu i zapisu urządzenia dyskowego:

polecenie dd jest przydatne do sprawdzania wydajności sekwencyjnych We/Wy.

zrozumienie opcji polecenia dd

w tym przykładzie używam macierzy RAID-10 (Adaptec 5405Z z SAS SSD) działającej na serwerze Ubuntu Linux 14.04 LTS. Podstawowa składnia jest następująca, aby dowiedzieć się o przepustowości serwera:

przykładowe wyjścia:

Fig.01: Ubuntu Linux Server z RAID10 i Testing Server throughput z dd

należy pamiętać, że do testu zapisano jeden gigabajt, a przepustowość serwera wynosiła 135 MB/s. Where,

  • if = /dev / zero (if = /dev / input.file): nazwa pliku wejściowego, z którego ma zostać odczytany.
  • of = / tmp / test1.img (of= / path / to / output.plik): nazwa pliku wyjściowego, który chcesz zapisać.plik do.
  • bs=1G (BS=block-size) : Ustaw rozmiar bloku, którego chcesz użyć. Do testu zapisano 1 gigabajt. Należy pamiętać, że Linux będzie potrzebował 1 GB wolnego miejsca w pamięci RAM. Jeśli Twój system testowy nie ma wystarczającej ilości dostępnej pamięci RAM, użyj mniejszego parametru dla bs (np.
  • count=1 (count=number-of-blocks): liczba bloków, które dd ma odczytać.
  • oflag=dsync (oflag=dsync) : użyj zsynchronizowanych We/Wy dla danych. Nie pomijaj tej opcji. Ta opcja pozbądź się buforowania i daje dobre i dokładne wyniki
  • conv=fdatasyn: ponownie mówi dd, aby wymagał pełnej „synchronizacji” raz, tuż przed zakończeniem. Opcja ta jest równoważna Oflag=dsync.

znajdowanie czasu opóźnienia serwera

w tym przykładzie tysiąc razy zapisano 512 bajtów, aby uzyskać czas opóźnienia serwera RAID10:

dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync

przykładowe wyjścia:

1000+0 records in1000+0 records out512000 bytes (512 kB) copied, 0.60362 s, 848 kB/s

należy pamiętać, że przepustowość serwera i czas opóźnienia zależą również od obciążenia serwera/aplikacji. Więc polecam, aby uruchomić te testy na nowo zrestartowanym serwerze, a także szczyt czasu, aby uzyskać lepszy pomysł na temat obciążenia pracą. Możesz teraz porównać te liczby ze wszystkimi urządzeniami.

ale dlaczego przepustowość serwera i czas opóźnienia są tak niskie?

niskie wartości nie oznaczają, że używasz wolnego sprzętu. Wartość może być niska ze względu na sprzętową pamięć podręczną kontrolera RAID10.

użyj polecenia hdparm, aby zobaczyć buforowaną i buforowaną prędkość odczytu dysku

proponuję uruchomić następujące polecenia 2 lub 3 razy wykonaj Taktowanie odczytów urządzenia w celach porównawczych i porównawczych:

### Buffered disk read test for /dev/sda ##hdparm -t /dev/sda1## OR ##hdparm -t /dev/sda

aby wykonać timingi odczytów pamięci podręcznej dla celów benchmarku i porównania, Uruchom 2-3 razy następujące polecenie (zwróć uwagę na opcję-T):

## Cache read benchmark for /dev/sda ###hdparm -T /dev/sda1## OR ##hdparm -T /dev/sda

lub połączyć oba testy:

hdparm -Tt /dev/sda

przykładowe wyjścia:

Fig.02: Polecenie Linux hdparm do testowania wydajności odczytu i buforowania dysku

ponownie zauważ, że ze względu na buforowanie systemów plików podczas operacji na plikach, zawsze zobaczysz wysokie szybkości odczytu.

użyj polecenia dd na Linuksie, aby przetestować prędkość odczytu

aby uzyskać dokładne odczyty danych testowych, najpierw Odrzuć pamięci podręczne przed testowaniem, uruchamiając następujące polecenia:

flushecho 3 | sudo tee /proc/sys/vm/drop_cachestime dd if=/path/to/bigfile of=/dev/null bs=8k

przykład laptopa z Linuksem

uruchom następujące polecenie:

Apple OS X Unix (Macbook pro) przykład

GNU dd ma o wiele więcej opcji, ale OS X / BSD i Uniksopodobne polecenie dd muszą działać w następujący sposób, aby przetestować prawdziwe Wejście/Wyjście dysku, a nie opcję synchronizacji pamięci w następujący sposób:

## Run command 2-3 times to get good results ###time sh -c "dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync"

przykładowe wyjścia:

1024+0 records in1024+0 records out104857600 bytes transferred in 0.165040 secs (635346520 bytes/sec) real0m0.241suser0m0.004ssys0m0.113s

więc dostaję 635346520 bajtów (635.347 MB / s) Prędkość Zapisu na moim MBP.

nie jesteś fanem narzędzi wiersza poleceń…?

możesz użyć narzędzia dyskowego (gnome-Disk-utility) na systemie Linux lub Unix, aby uzyskać te same informacje. Poniższy zrzut ekranu pochodzi z mojej maszyny Wirtualnej Fedora Linux V22 i pulpitu Ubuntu 20.04:

metoda graficzna

kliknij „Działania” lub naciśnij przycisk „Super”, aby przełączać się między przeglądem działań a pulpitem. Typ „Dyski”

Fig.03: Uruchom Narzędzie dyskowe Gnome

Wybierz dysk twardy w lewym okienku i kliknij Konfiguruj przycisk i kliknij „partycja Benchmark”:

Fig.04: Benchmark dysk / partycja

na koniec kliknij przycisk” Rozpocznij Benchmark… ” (możesz zostać awansowany na nazwę użytkownika i hasło administratora):

Fig.05: końcowy wynik testu

narzędzie do uruchamiania dysków pod Ubuntu 20.04 LTS:

  1. Najpierw otwórz dyski z przeglądu aktywności.
  2. następnie wybierz dysk z listy w lewym okienku.
  3. wybierz przycisk menu i wybierz dysk Benchmark … z menu.
  4. kliknij Rozpocznij Benchmark… i dostosuj parametry szybkości transferu i czasu dostępu zgodnie z potrzebami.
  5. na koniec kliknij rozpocznij testowanie porównawcze, aby sprawdzić, jak szybko można odczytać dane z dysku. Mogą być wymagane uprawnienia administracyjne. Wprowadź hasło lub hasło do żądanego konta administratora systemu.

Test wydajności dysku twardego za pomocą „dyski’

jaką metodę i komendę polecacie użyć do testowania wydajności We/Wy dysku?

  • polecam polecenie dd we wszystkich systemach uniksopodobnych (time sh-c „dd if=/dev/zero of=/tmp/testfile bs=100k count=1K && sync”))
  • jeśli używasz GNU/Linuksa, użyj polecenia dd (dd if=/dev/zero of=/tmp/testALT.img BS=1G count=1 conv=fdatasync)
  • upewnij się, że dostosujesz argumenty count i Bs zgodnie z ustawieniami, aby uzyskać dobry zestaw wyników.
  • metoda GUI jest zalecana tylko dla użytkowników laptopów z systemem Linux/Unix z pulpitem Gnome 2 lub 3.
  • do szczegółowego porównywania wydajności We/Wy użyj polecenia fio
  • używamy IOzone. Jest to narzędzie do porównywania systemów plików. Benchmark generuje i mierzy różne operacje na plikach.

podsumowanie

nauczyłeś się używać dd pod Linuksem lub Uniksem do testowania prostych i sekwencyjnych pomiarów wydajności We/Wy. Aby uzyskać szczegółowe analizy porównawcze wydajności We / Wy, wypróbuj „Elastyczny Tester We/Wy (FIO)” dla systemów Unix lub Linux. Zobacz jak Linux sprawdza szybkość transferu dysku twardego IDE / SATA I strony podręcznika: hdparm (1), aby uzyskać więcej informacji.

🐧 proszę o wsparcie mojej pracy nad Patreonem lub darowizną.
Get Pobierz najnowsze samouczki na Linuksa, Open Source & DevOps za pośrednictwem kanału RSS lub cotygodniowego biuletynu e-mail.
14 komentarzy do tej pory… dodaj jeden ↓
Kategoria lista komend Unix i Linux
Zarządzanie plikami cat
Firewall Alpine Awall • CentOS 8 * OpenSUSE * RHEL 8 * Ubuntu 16.04 * Ubuntu 18.04 * Ubuntu 20.04
Network Utilities dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Menedżer pakietów apk * apt
Zarządzanie procesami bg • chroot • cron • disown • fg • jobs • killall • kill • pidof * pstree • pwdx * time
Szukam grep * whereis * which
informacje o użytkowniku grupy • id • lastcomm • last • lid/libuser-lid • logname • members * users * whoami • who * w
WireGuard VPN Alpine * CentOS 8 * Debian 10 * Firewall • Ubuntu 20.04

You might also like

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.