Po 5-cio dniowej przerwie wracam do codziennych zajęć, na początek coś przydatnego.
Wielu z nas zapewne dotyka problem kopiowania dużych plików po sieci. Problem o tyle duży, że kiedy zwiększa się rozmiar pliku czas potrzebny na jego przekopiowanie nie zmienia się proporcjonalnie ale jest zawsze większy od oczekiwanego.
Ma to związek z buforowaniem I/O. Pomysł działa dobrze, jeśli mamy do czynienia z plikami, które mają do kilkudziesięciu MB, ale problem się zaczyna przy kilku GB. Takich plików system nie zapisze sobie do pamięci by później zrzucić je na dysk, zapisuje więc kawałek po kawałku i dopiero te kawałki zapisuje na dysku. To powoduje, że kopiowanie dużych plików trwa dłużej.
Rozwiązaniem jest zastosowanie nieco innej metody kopiowania plików z pominięciem buforowania I/O. Domyślnie w systemie operacyjnym Windows stosowane jest buforowane kopiowanie, by skorzystać z przyspieszonej wersji musimy wykorzystywać narzędzia trzecie. Programy takie jak copy, xcopy czy nawet narzędzie robocopy wykorzystują kopiowanie buforowane, ale np. eseutil już nie. Choć program należy do programów wchodzących w skład serwera Exchange można go też wykorzystać na nie-Exchange’owych komputerach. Więcej na blogu Ask the Performance Team.
Powolne kopiowanie GB danych dotyka mnie samego w codziennej pracy. Kopiujemy wiele odpowiedników dysków DVD-5 (4.6 GB) czy DVD-9 (8.5GB) pomiędzy Redmond a Dublinem i innymi ośrodkami MS i stosowanie buforowanego zapisu i odczytu skutecznie spowalnia nam pracę. W niedługim czasie będę chciał zrobić kilka testów porównujących te dwa sposoby kopiowania. Mam nadzieję, że będzie to pouczająca metoda.

0 Responses to “Powolne kopiowanie dużych plików”