Mam dwa węzły (każdy z 3 dedykowanymi napędami danych), które wykazują drastycznie różne prędkości zapisu. Ich wyjście „hdparm” wygląda identycznie, a ich wyjście „hdparm -t -T” jest porównywalne, ale uruchomienie polecenia „dd” w zamontowanym systemie plików daje drastycznie różne prędkości zapisu. Użycie „dd” do testowania prędkości odczytu ponownie daje podobne wyniki.
Serwery i dyski twarde są dokładnie tymi samymi modelami, oba korzystają z tych samych pakietów oprogramowania (używamy szefa kuchni do wypychania pakietów na nasz klaster).
Szukam pomysłów na parametry do sprawdzenia lub innych testów do uruchomienia, które pomogą mi uporządkować rozbieżności wydajności. Wygląda na to, że jest na poziomie OS / FS, ale nie jestem pewien, na co jeszcze patrzeć. Oba zamontowane systemy plików to EXT4 z włączoną opcją noatime i user_xattr.
Szybki serwer:
hdparm -t -T
wydajność:
/dev/sdb1:
Timing cached reads: 2138 MB in 2.00 seconds = 1070.08 MB/sec
Timing buffered disk reads: 232 MB in 3.02 seconds = 76.84 MB/sec
wypisując plik testowy 4 GB
$ dd bs=4K if=/dev/zero of=/mnt/vol1/test.file count=1M
1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB) copied, 40.1102 s, 107 MB/s
0.20user 10.91system 0:40.14elapsed 27%CPU (0avgtext+0avgdata 3472maxresident)k
16inputs+8388608outputs (1major+263minor)pagefaults 0swaps
Odczyt tego pliku z dysku (i do / dev / null)
$ dd bs=4K of=/dev/null if=/mnt/vol1/test.file count=1M
1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB) copied, 53.3914 s, 80.4 MB/s
0.19user 5.80system 0:53.53elapsed 11%CPU (0avgtext+0avgdata 3488maxresident)k
8389872inputs+0outputs (2major+264minor)pagefaults 0swaps
Powolny węzeł:
hdparm -t -T
wydajność
/dev/sdc1:
Timing cached reads: 1982 MB in 2.00 seconds = 991.27 MB/sec
Timing buffered disk reads: 224 MB in 3.02 seconds = 74.16 MB/sec
$ dd bs=4K if=/dev/zero of=/mnt/vol1/test.file count=1M
1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB) copied, 98.1583 s, 43.8 MB/s
0.35user 17.58system 1:38.17elapsed 18%CPU (0avgtext+0avgdata 3456maxresident)k
8inputs+8388608outputs (0major+263minor)pagefaults 0swaps
$ dd bs=4k of=/dev/null if=/mnt/vol1/test.file count=1M
1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB) copied, 54.7789 s, 78.4 MB/s
0.25user 10.84system 0:54.92elapsed 20%CPU (0avgtext+0avgdata 3488maxresident)k
8389864inputs+0outputs (2major+263minor)pagefaults 0swaps
time
wyjście, zgodnie z żądaniem
dd
komenda z zapisami 512 bajtów, a nie zapisami 4K, prędkości są identyczne.
dd
komendy używającetime
, więc możemy zobaczyć użycie procesora. Czy dwa węzły wykazują różne prędkości zapisu w realistycznych warunkach lub tylko w sztucznych warunkach testowych? (Te dwa pliki mogą znajdować się w różnych fizycznych miejscach na dysku.) Co to jest marka / model napędu?