Wydajność systemów plików z pętlą zwrotną


10

Czy ktoś przeprowadził jakieś testy wydajności / testów porównawczych w systemach plików pętli zwrotnej Linux? Jakie było Twoje dotychczasowe doświadczenie? Czy występuje poważna degradacja wydajności? A co z solidnością?

http://freshmeat.net/articles/virtual-filesystem-building-a-linux-filesystem-from-an-ordinary-file


Uruchomienie bonnie ++ na dysku macierzystym i na dysku pętli zwrotnej powinno być dość proste, aby porównać wydajność.
Ceving

Odpowiedzi:


11

Zrobiłem trochę testów porównawczych z operacjami zapisu w urządzeniu z pętlą zwrotną. Oto wniosek:

  • Jeśli synchronizujesz po każdym zapisie, wówczas urządzenie sprzężenia zwrotnego działa znacznie gorzej (prawie dwa razy wolniej).
  • Jeśli zezwolisz pamięci podręcznej dysku, aby program planujący we / wy wykonał swoje zadanie, nie będzie prawie żadnej różnicy między użyciem urządzenia sprzężenia zwrotnego a bezpośrednim dostępem do dysku.

Wyniki testu

Najpierw uruchomiłem test porównawczy na sprzężeniu zwrotnym w tmpfs o pojemności 8 GB i urządzeniu sprzężonym zwrotnym w tym urządzeniu sprzężonym zwrotnie ( z synchronizacją po każdej operacji zapisu ):

ext4 w tmpfs:

Measured speed: 557, 567, 563, 558, 560, 559, 556, 556, 554, 557
Average speed : 558.7 MB/s  (min 554  max 560)

ext4 w extf w tmpfs:

Measured speed: 296, 298, 295, 295, 299, 297, 294, 295, 296, 296
Average speed : 296.1 MB/s  (min 294  max 299)

Oczywiste jest, że istnieje pewna różnica w wydajności podczas korzystania z urządzeń sprzężenia zwrotnego z synchronizacją przy zapisie.
Następnie powtórzyłem ten sam test na dysku twardym.
ext4 (HDD, 1000 MB, 3 razy):

Measured speed: 24.1, 23.6, 23.0
Average speed : 23.5 MB/s  (min 23.0  max 24.1)

ext4 w ext4 (HDD, 945 MB):

Measured speed: 12.9, 13.0, 12.7
Average speed : 12.8 MB/s  (min 12.7  max 13.0)

Ten sam test porównawczy na HDD, teraz bez synchronizacji po każdym zapisie ( time (dd if=/dev/zero bs=1M count=1000 of=file; sync)mierzony jako <size>/ <time in seconds>).
ext4 (HDD, 1000 MB):

Measured speed: 84.3, 86.1, 83.9, 86.1, 87.7
Average speed : 85.6 MB/s  (min 84.3  max 87.7)

ext4 w ext4 (HDD, 945 MB):

Measured speed: 89.9, 97.2, 82.9, 84.0, 82.7
Average speed : 87.3 MB/s  (min 82.7  max 97.2)

(nieoczekiwanie test porównawczy pętli zwrotnej wygląda lepiej niż test porównawczy dysku surowego, prawdopodobnie ze względu na mniejszy rozmiar urządzenia pętli zwrotnej, dlatego mniej czasu spędza się na faktycznej synchronizacji z dyskiem)

Konfiguracja testu porównawczego

Najpierw stworzyłem system plików z pętlą zwrotną 8G w moim / tmp (tmpfs):

truncate /tmp/file -s 8G
mkfs.ext4 /tmp/file
sudo mount /tmp/file /mnt/
sudo chown $USER /mnt/

Następnie ustaliłem linię bazową, wypełniając zamontowany plik pętli zwrotnej danymi:

$ dd if=/dev/zero bs=1M of=/mnt/bigfile oflag=sync
dd: error writing '/mnt/bigfile': No space left on device
7492+0 records in
7491+0 records out
7855763456 bytes (7.9 GB) copied, 14.0959 s, 557 MB/s

Po wykonaniu tej czynności utworzyłem inne urządzenie sprzężenia zwrotnego w poprzednim urządzeniu sprzężenia zwrotnego:

mkdir /tmp/mountpoint
mkfs.ext4 /mnt/bigfile
sudo mount /mnt/bigfile /tmp/mountpoint
sudo chown $USER /tmp/mountpoint

I ponownie uruchomiłem test, dziesięć razy:

$ dd if=/dev/zero bs=1M of=/tmp/mountpoint/file oflag=sync
...
7171379200 bytes (7.2 GB) copied, 27.0111 s, 265 MB/s

a następnie odmontowałem plik testowy i usunąłem go:

sudo umount /tmp/mountpoint
sudo umount /mnt

(podobnie w przypadku testu na dysku twardym, z tym wyjątkiem, że dodałem również, count=1000aby zapobiec zapełnieniu całego dysku przez test)
(i w przypadku testu braku zapisu synchronizacji uruchomiłem czas ddi syncoperację)


0

Nie miałem problemów Wszystko było solidne. Pamięć podręczna systemu plików i harmonogram we / wy w systemie Linux są na tyle rozsądne, że nie powinno to robić żadnej zauważalnej różnicy między pytaniem o dysk bezpośrednio a pytaniem o sekcję pliku na dysku.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.