Jak szybko wykonać kopię zapasową naszych plików? Czy zewnętrzny dysk SSD ma sens? Czy małe pliki (np. kod) kopiują się wolniej od dużych plików (np. zdjęcia)? A może to wszystko będzie bez znaczenia, bo wąskim gardłem okaże się być sama przejściówka USB na SATA? Tutaj postaram się to sprawdzić!
Temat zabezpieczania naszych danych przed utratą był już na Elektrodzie poruszany. Oto kilka powiązanych tematów:
Automatyczna kopia zapasowa - rclone - przykładowy skrypt - jak uchronić się przed utratą plików?
Windows 10 i rsync, czyli wydajny i szybki sposób na kopie zapasowe naszych danych
Same porównania SSD i HDD też jakiś czas temu prezentowałem:
Wymiana dysku HDD na SSD w starym komputerze bez utraty danych - porównanie przed i po
Dziś kontynuuję tematykę i zajmuje się porównaniem HDD vs SSD w przypadku dysku zewnętrznego.
Od strony sprzętowej dziś użyję taniej przejściówki USB na SATA:
Do tego użyję dwóch dysków HDD i SSD do testów:
Smarty:
Drugi HDD ma już bad sectory, zobaczymy czy to wpłynie na czasy.
Od strony software użyje prostego skryptu rclone, całość do wglądu:
rmdir /S /Q I:\Sample
rclone.exe sync W:/GIT/OpenBK7231N/platforms/bk7231n/toolchain I:/Sample --progress --transfers=64 --delete-excluded --exclude "Library/**" --exclude "Debug/**" --exclude "Release/**" --exclude "Android/**" --exclude "$RECYCLE.BIN/**" --exclude "Virtual Machines/**" --exclude "GIT/**" --exclude "C-Sky/**" --exclude ".venv" --exclude "NoBackupToDelete/**" --delete-before
Powyższy skrypt NAJPIERW USUWA DOCELOWY FOLDER a potem na nowo go kopiuje. To w celu ułatwienia testów. Docelowo, jeśli chcecie go używać, powinniście usunąć linijkę z rmdir, bo cała idea z rclone jest taka, że rclone tylko kopiuje to, co się zmieniło...
Ale najpierw - CrystalDiskMark. Sprawdźmy w teorii prędkości.
SSD CX400:
SSD 850EVO:
Z5K500-500:
WD5000LPVT:
No na pierwszy rzut oka SSD są w tym przypadku czterokrotnie szybsze od HDD. Mam tu na myśli oczywiście zapis/odczyt w sekwencji. W przypadku losowego zapisu/odczytu HDD wypadają jeszcze gorzej, bo tam głowica musi mechanicznie trafić do celu, a w SSD nie ma tego problemu bo w SSD po prostu nie ma ruchomych części...
Teraz pora na test praktyczny. Na początek kopiowanie z wewnętrznego dysku HDD. Około 400MB danych w postaci dużych plików:
W praktyce transfery są o połowę wolniejsze niż w benchmarku, ale i tak widać przewagę SSD. Nie wiem czemu 850 EVO konsekwentnie jest nieco wolniejszy, być może dlatego, że użyty CX400 to nówka a użyty 850 EVO ma za sobą lata pracy. I tak na razie wychodzi na to, że SSD jest 3-5 krotnie szybsze tutaj od HDD.
Teraz to samo, ale kopiowanie z wewnętrznego SSD. Chciałem sprawdzić, czy to nie dysk źródłowy jest tutaj wąskim gardłem:
Raczej nie ma odczuwalnych zmian, więc to nie dysk źródłowy ogranicza.
To zostaje jeszcze sprawdzić to samo ale z dużą ilością małych plików, czyli z kodem:
Prawie 10 000 plików, a tylko 600MB. Tu szybkość transferu znacznie spada. Narzut obsługi małych plików jednak robi swoje i transfery nie mogą się "rozpędzić'. SSD jest tutaj góra dwa razy szybsze niż HDD, więc zysk i tak jest, ale znacznie mniejszy niż przy większych plikach (zdjęcia).
Co do samej metodologii pomiaru dodam, że każde kopiowanie odpalałem kilka razy i brałem z tego średnią arytmetyczną.
Podsumowując, moim zdaniem warto jest rozważyć użycie dysku SSD w roli zewnętrznego nośnika na kopie zapasowe. Największy zysk z takiego rozwiązania mamy w przypadku nieco większych plików, takich jak zdjęcia, czy tam skompresowane paczki rar/zip/itd z kodem. W przypadku malutkich plików, takich jak kod "luzem", zysk jest znacznie mniejszy.
No i na koniec trudno też nie jest zwrócić uwagę na to, że ja testowałem scenariusz "pierwszego rclone" bądź zwykłego kopiowania, a nie rclone wykonanego na już istniejącej kopii, gdzie wysyłane są tylko zmiany. W przypadku tylko aktualizacji znaczenie ma również odczyt z docelowego nośnika (bo rclone sprawdza co tam jest, by móc wysłać zmiany), ale uznałem, że i taki prosty test jak tutaj jest w pewnym stopniu już miarodajny.
Na co jeszcze powinniśmy zwrócić uwagę przy decydowaniu czy chcemy zewnętrzny SSD czy HDD? Oczywiście znaczenie ma tutaj cena, SSD są wciąż znacznie droższe, więc musimy np. sami osądzić, czy potrzebujemy tworzyć kopię jakiegoś małego zbioru plików (nad którymi pracujemy), czy też całej życiowej galerii zdjęć (setki gigabajtów). Również znaczenie może mieć waga dysku (SSD są lżejsze) oraz odporność na wstrząsy i upadki (HDD ma mechaniczne części, więc jest nieco mniej odporny). W tym temacie to jednak kwestie drugorzędne, bo chciałem się tu skupić na optymalizacji czasu kopiowania.
Ostatecznie jednak SSD mnie przekonało i do częstych kopii plików nad którymi właśnie pracuję zamierzam właśnie go użyć w połączeniu z odpowiednim skryptem rclone. Problem małych plików i tak mnie nie dotyczy, bo z kolei do kodu mam system GIT...
A jak Wy sądzicie? Czy warto użyć SSD w roli zewnętrznego dysku, czy jest to warte swojej ceny?
Fajne? Ranking DIY Pomogłem? Kup mi kawę.