Instaluję nowy system za pomocą soft-raid 1 z dwoma dyskami fizycznymi. Podczas przeprowadzania kilku testów (po odczekaniu na zakończenie pierwszej synchronizacji) stwierdziłem, że prędkość dysku twardego była bardzo niespójna.
Mój test był bardzo prosty: skopiowałem około gig plików JPEG za pomocą cp -r, a następnie usunąłem je i sprawdziłem, ile czasu to zajęło.
for i in {1..5} ; do
echo ".. start run $i"
time cp -r public public2
echo "... deleting duplicate"
time rm -rf public2
sleep 1
done
Czasami w trakcie testu wydaje się, że proces „zawiesza się” na krótko, nie reaguje na ^ C i (jak widać na poniższych wynikach) powoduje opóźnienie o kilkadziesiąt sekund, według najlepszych raportów „Oczekiwanie na We / Wy” w dowolnym miejscu z 20 % do 70% w tej chwili, a konsola staje się powolna, nawet nie reaguje.
Były to wyniki z około 1 koncertem obrazów jpg:
copy delete
run 1 1.336s 35.929s
run 2 2.300s 50.737s
run 3 2.358s 26.562s
run 4 0.971s 23.717s
run 5 17.485s 27.074s
Prędkości wyraźnie różnią się dziko. Przeprowadziłem ten zestaw 5 testów kilka razy i pojawiają się one za każdym razem, choć niekoniecznie w tych samych seriach. W wyświetlanych wynikach opóźnienia występowały najczęściej podczas usuwania, ale to także jest różne.
Kolejna próba, jakiś czas później z mniejszym zestawem danych (~ 600 MB):
copy delete
run 1 11.614s 36.403s
run 2 0.630s 0.208s
run 3 0.652s 14.891s
run 4 0.676s 0.192s
run 5 0.640s 0.213s
Przy mniejszym zestawie opóźnienia występują znacznie rzadziej, często przechodząc wszystkie 5 przebiegów bez opóźnienia.
Jeszcze jedna próba z większym zestawem danych, około 1,5 GB:
copy delete
run 1 26.687s 22.336s
run 2 38.336s 22.466s
run 3 44.711s 20.473s
run 4 41.269s 22.721s
run 5 41.592s 26.499s
Tutaj opóźnienie występuje prawie za każdym razem.
Myślałem o usterce sprzętowej, ale uruchomiłem się z monitem ratunkowym, ręcznie zamontowałem jeden z dysków i wykonałem ten sam test. Tym razem wyniki były całkowicie spójne i szybkie.
Wszelkie myśli byłyby mile widziane, ponieważ jestem zagubiony.
sync
przed testem i wykonującsync
później, włączając czas synchronizacji po teście w czasie wykonywania testu.)