Dlaczego moja prędkość kopiowania plików sieciowych tworzy falę?

17

Dzięki aktualizacji do systemu Windows 10 mam teraz ten ładny wykres podczas kopiowania plików.

Kiedy kopiuję pojedynczy duży plik, prędkość zawsze przyjmuje ten dość spójny kształt fali. Co to powoduje?

Połączenie jest

My PC <- cable -> gigabit switch <- cable -> Netgear ReadyNAS

Pliki kopiowane są przez SMB, ten wykres pokazuje jedną taką kopię w ciągu około minuty:

Wykres prędkości kopiowania w systemie Windows 10

Tutaj nie ma problemu, chcę tylko zrozumieć, jak to działa.

Gricey
źródło
1
Przydałoby się więcej szczegółów na temat konfiguracji dysku ReadyNAS. Czy używasz RAID 5 na trzech dyskach? Jaka jest prędkość zapisu na każdym dysku? Jaki jest bufor na każdym dysku i czy istnieje pamięć podręczna wykorzystywana przez ReadyNAS? Czy próbowałeś już innych narzędzi, takich jak TeraCopy, aby sprawdzić, czy Twoje prędkości przesyłania różnią się? Jeśli nie, może wystąpić wąskie gardło związane z zapisywaniem w pamięci podręcznej dysku, szczególnie jeśli szybkość zapisu nie jest dobra (np. Seagate Barracuda).
niedz.
Czy okresowo zamykałeś wszystkie inne procesy, które mogą korzystać z NAS?
Arjan,

Odpowiedzi:

6

Krótka odpowiedź: zapisz pamięć podręczną

TL; DR: Po pierwsze, kopiowanie pojedynczego dużego pliku jest znacznie mniejsze w porównaniu do wielu mniejszych. Oznacza to, że komputery PC i NAS nie marnują dużo czasu na wyszukiwanie plików, aktualizowanie tabeli plików i metadanych systemu plików. Oznacza to również znacznie wyższą przepustowość, która prawdopodobnie ujawni niektóre wąskie gardła przepustowości w konfiguracji.

Szczyty i doliny na wykresie przepustowości wydają się występować w dość regularnych odstępach czasu, a biorąc pod uwagę fakt, że kopiujesz pojedynczy duży plik (maksymalna przepustowość, minimalny narzut), powiedziałbym, że widzisz efekt buforowania / buforowania .

Wydaje mi się, że prawdopodobnie wysyłasz dane do NAS szybciej, niż jest w stanie zapisać je na dysku. Dzięki pamięci podręcznej / buforom zapisu nadal jest w stanie odbierać je z większą prędkością (szczyty wykresu), ale nie można nadal odbierać danych bez przekazania ich na dysk.

W końcu bufor będzie działał i będzie musiał zostać zapisany na dysku. Tymczasem NAS nie może odbierać danych tak szybko, jak wcześniej, ponieważ nie ma gdzie go przechowywać (bufor jest pełny, a dyski wolniejsze). W tym miejscu znajdują się doliny wykresu.

Wygląda na to, że Windows wygładza wykres przepustowości. Dzięki bardziej precyzyjnym wykresom (powiedzmy z Monitora wydajności) można faktycznie oszacować rozmiar bufora zapisu, analizując interwały i przesyłane bajty.

Powodem, dla którego szczyty i doliny nie występują w idealnie jednolitych odstępach czasu, jest prawdopodobnie to, że PC, NAS lub oba, robią „coś innego” podczas kopiowania pliku.

abstrask
źródło
Czy nie dałoby to linii poziomej z nagłymi skokami (do około zera) po zapełnieniu bufora?
Arjan,
Wykres kopii pliku wydaje się wygładzony, prawdopodobnie ze względu na wygląd. PerfMon prawdopodobnie stworzyłby znacznie dokładniejszy wykres. Będzie to również zależeć od algorytmu używanego do opróżniania na dysk - np. Przestań odbierać dane, dopóki wszystko nie zostanie zapisane na dysku, a ograniczać odbieranie danych do wolniejszej częstotliwości, co pozwala na zapisywanie na dysku szybciej niż nowe dane.
abstrask
17

Trudno jest odpowiedzieć autorytatywnie bez dalszych badań. Dziękujemy za aktualizację pytania ze skalą czasu i protokołem.

Może to normalne „przegrzebki” TCP. TCP działa tak szybko, jak to możliwe, aż do utraty pakietów. Potem cofa się trochę i znów przyspiesza. Tak więc „uderza głową w sufit”. W ten sposób maksymalizuje dostępną przepustowość bez pogarszania zatorów. Zwykle patrzę na przegrzebki TCP na wykresie TCPTrace, który nieco różni się od tego wykresu. Spodziewałbym się, że na tym wykresie będzie wyglądał trochę bardziej piłokształtnie, ale na tym wykresie może występować pewne wygładzenie. A teraz, gdy o tym myślę, przegrzebki TCP byłyby w znacznie mniejszej skali czasowej niż ten wykres wydaje się pokazywać.

Może się również zdarzyć, że protokół zdalnego systemu plików (SMB) odczyta plik po kawałku, a zapady są tam, gdzie skończył się odczyt jednego fragmentu i żądany jest następny.

Spiff
źródło
Przepraszam za brak szczegółów, nie byłem pewien, co ludzie powinni wiedzieć. Używam smb, a ten wykres obejmuje okres około minuty
Gricey
4
@Gricey: Nie komentuj: napraw pytanie !!
Wyścigi lekkości z Moniką
-1 za niepotrzebne
nitpicking
@LightnessRacesinOrbit naprawiono
Gricey
1
@Gricey Przepraszam za tak wybredne szczegóły. Rozumiem sentyment, że jeśli nie wiesz, jakich szczegółów ludzie będą potrzebować, ciężko jest chcieć udokumentować wiele rzeczy. Trudno jest zachować równowagę między koniecznością udokumentowania, że ​​ludzie pomagający nie będą sfrustrowani, a poczuciem, że marnujesz czas na dokumentowanie rzeczy, które nie mają znaczenia.
Spiff,
0

Myślę, że Microsoft wprowadził tę funkcję na pasku postępu w systemie Windows 8.

Od lewej do prawej pokazuje postęp w procentach i góra-dół pokazy Motion szybkość transferu w MB / s .

Szybkości przesyłania zależą od prędkości mediów (magistrali lub sieci), liczby i rozmiarów plików, systemu plików i dostępności zasobów itp.

Również podczas przesyłania plików odbywa się wiele odczytu / zapisu metadanych.

Widzisz dość spójną falę, ponieważ narzut tych odczytów / zapisów metadanych jest zmniejszony, a inne zasoby są używane w tym samym tempie. Sporadyczne zapady mogą oznaczać utratę pakietów, odczyt następnego fragmentu, odpytywanie zasobów itp.

W celu uzyskania dalszych wyjaśnień zamieszczono dalsze informacje

gra słów
źródło
3
To tak naprawdę nie odpowiada na pytanie.
Wyścigi lekkości z Moniką