Przesyłam kilka (ponad 20) dużych plików (ponad 1 GB) na zewnętrzny dysk flash przez USB 2.0. Czy szybciej jest po prostu zawiesić je wszystkie naraz (tak jak w jednym na raz, ale nie czekając na zakończenie poprzedniego transferu), aby realizować wiele transferów, lub przenieść jeden, poczekać, aż zakończy się, przenieść następny . Pliki pochodzą z różnych lokalizacji, więc nie mogę wykonać jednego dużego transferu.
Czy są jakieś inne zalety tego lub innego sposobu, które warto rozważyć?
file-transfer
Fredley
źródło
źródło
Odpowiedzi:
Jeśli wszystkie pochodzą z różnych dysków fizycznych, ale są zapisywane na dysku SSD (flash, SSD), możesz skopiować je jednocześnie.
Fizyczny ruch głowy (opóźnienie) spowalnia transfer z obracającego się talerza. Jeśli kopiujesz z jednego dysku twardego, zaczniesz od jednego dużego transferu, a nie od wielu małych. To, co spowalnia przesyłanie, przesuwa się między dwoma lub więcej kopiowanymi plikami. Oczywiście uzyskałbyś ten sam efekt, gdyby dysk twardy był mocno pofragmentowany, nawet jeśli kopiowałeś pojedynczy plik.
Gdyby znajdował się między dyskami półprzewodnikowymi, nie miałoby to znaczenia.
Jeśli nie chcesz czekać na zakończenie każdego transferu, użyj aplikacji kolejkowania kopii, takiej jak Teracopy .
Oczywiście wąskim gardłem byłoby szybkość zapisu na dysku flash, więc prawdopodobnie nie ma znaczenia, w jaki sposób to zrobisz. :)
źródło
Jeśli dysk docelowy jest dyskiem SSD, pamiętaj, że dyski SSD są, o co tu chodzi, cholernie szybkie . (*)
Jeśli miejsce docelowe jest wolniejsze (od pamięci flash z niezbyt wysoką szybkością zapisu na dysk twardy SATA3 po taśmę magnetyczną), należy umieszczać w kolejce transfery pojedynczo.
Na pewno twoje wąskie gardło znajdzie się na dysku docelowym
W przypadku dysków twardych zaleca się to obecnie, ponieważ chociaż w cylindrze znajduje się więcej niż jedna głowica, nie wolno im jednocześnie czytać ani pisać (nie pokazało to wpływu na wydajność w rzeczywistym świecie ze względu na fakt, że możemy napotkać losowe dane w jedna z głowic, która przez większość czasu nie pozwalała nam na R / W, a jeśli głowice nie są całkowicie wyśrodkowane, może to prowadzić do uszkodzenia dysku).
Zdrowy rozsądek (i także matematyka!) Mówi, że jeśli mamy bardzo bardzo źródło, ale możemy sprawić, że równoległe przesyłanie plików, wyszukiwanie głowy może (w niewielu scenariuszach) być szybsze niż serializacja zadania.
(*) To znaczy, jak stwierdza Nnewton, ponieważ nie ma ruchu głowy. Ale czy nie powinniśmy używać terminu latencja : opóźnienie to ruch głowy + opóźnienie obrotu dysku + czas odczytu, a na dysku SSD jest to po prostu losowy czas odczytu i nie zależy od poprzedniej pozycji odczytu, jak to robią dyski
źródło
Za pomocą wbudowanego narzędzia do kopiowania plików w systemie Windows oba są strasznie wolne. Możesz rozważyć użycie alternatywnej aplikacji, takiej jak TeraCopy .
źródło
Jeśli kopiujesz przez protokół IP (FTP / SCP / Samba / itp.), To jest mniejszy narzut, aby skopiować jeden plik, ponieważ między każdym plikiem jest wiele uzgadniania.
W tym przypadku, ponieważ jest dużo plików i jest ich niewiele, nie będzie to miało większego wpływu na to, co robisz, i prawdopodobnie łatwiej będzie je skopiować.
źródło
Najlepiej jest pisać pojedynczy plik na raz.
Prawdopodobnie przekonasz się, że przepustowość dysku flash zostanie dość łatwo nasycona. (Dysk źródłowy raczej nie będzie wąskim gardłem.) Chociaż USB 2.0 może przesyłać do 480 MB, twój dysk flash jest prawdopodobnie ograniczony do ~ 20 MB. Oznacza to, że gdy przesyłasz kilka plików z dysku twardego (dysków twardych), maksymalna prędkość zapisu na dysku flash będzie większa, a każdy plik zostanie zapisany wolniej, ponieważ muszą się dzielić.
Ponadto, pisząc wiele plików jednocześnie, zwiększasz fragmentację, ponieważ jeśli miejsce na pliki nie zostanie w pełni przydzielone, gdy tylko rozpocznie się transfer, zostaną one podzielone na części podczas przesyłania plików.
(Na szczęście, ponieważ dyski flash są półprzewodnikowe, nie ma głowy, która musiałaby rzucać się tam iz powrotem, tak jak w przypadku przesyłania wielu plików na dysk twardy).
Kolejną wadą pisania wielu plików jednocześnie jest to, że okna dialogowe kopiowania plików wskazują tylko postęp i pozostały czas dla tego pojedynczego pliku, a oszacowanie całkowitego czasu jest prawie niemożliwe, ponieważ nie jest on liniowy (nie można po prostu dodać im). Przeniesienie ich razem zapewni znacznie dokładniejsze informacje zwrotne dla całego transferu.
Jeśli pliki źródłowe pochodzą z różnych źródeł (masz na myśli różne dyski twarde? CD / DVD? Dysk sieciowy? Czy tylko foldery?), Możesz użyć dedykowanego narzędzia do kopiowania plików zamiast wbudowanego systemu Windows w działaniu. Niektóre opcje obejmują narzędzie Microsoft TechNet Robocopy , które ma również interfejs GUI , RichCopy (również z TecNet), który jest ulepszonym narzędziem opartym na Robocopy, oraz Teracopy , który specjalizuje się w zapewnianiu jak najbardziej wydajnego transferu (i ma Darmowa wersja).
źródło
OK, ponieważ OP powiedział konkretnie, że kopiuje je przez USB 2.0 do jednego celu, muszę powiedzieć jedno po drugim, niezależnie od źródła.
S = Szeregowy. Wiele strumieni plików = koszty ogólne.
Ale w praktyce ...
Podczas kopiowania z wielu źródeł czas stracony na wiele strumieni byłby więcej niż nadrobiony, gdyby nie trzeba było ręcznie budować „kolejki” kopii. I to jest łatwiejsze. ;)
Ponadto, jeśli kopiujesz w wielu strumieniach, a jeden nie powiedzie się, reszta prawdopodobnie zakończy się.
źródło
Czas przetwarzania elektronicznego zaoszczędzony przez indywidualne ładowanie musiałby być znaczny, aby nadrobić czas stracony między fizycznym oczekiwaniem na zakończenie ładowania każdego pliku a przeniesieniem kolejnego osobno.
źródło