16

С обновлением до Windows 10 у меня теперь есть этот хороший график при копировании файлов.

Когда я копирую один большой файл, скорость всегда принимает эту достаточно последовательную форму волны. Что вызывает это?

Связь

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

Файлы копируются через SMB, этот график показывает одну такую копию примерно за минуту:

График скорости копирования из Windows 10

Здесь нет проблем, я просто хочу понять, как все работает.

3 ответа3

17

Трудно ответить авторитетно без большого количества дальнейшего исследования. Спасибо за обновление вашего Вопроса с указанием шкалы времени и протокола.

Это могли бы обычные TCP "гребешки". TCP работает так быстро, как может, пока не будет потеря пакетов. Затем он немного отступает и снова нарастает. Так что он продолжает "биться головой об потолок". Таким образом, максимизируется доступная пропускная способность без ухудшения перегрузки. Я обычно смотрю на гребешки TCP на графике TCPTrace, который немного отличается от этого графика. Я ожидаю, что на графике такого типа он будет выглядеть немного более пилообразным, но на этом графике может произойти некоторое сглаживание. И теперь, когда я думаю об этом, гребешки TCP будут иметь гораздо меньшие временные рамки, чем этот график.

Также может случиться так, что ваш протокол удаленной файловой системы (SMB) считывает файл порцией за раз, и провалы - это когда одно чтение фрагмента завершено, а следующий запрашивается.

6

Краткий ответ: запись в кеш

TL; DR: Во-первых, при копировании одного большого файла значительно меньше накладных расходов, чем во многих меньших. Это означает, что ПК и NAS не "тратят" много времени на поиск файлов, обновление файловой таблицы и метаданных файловой системы. Это также означает гораздо более высокую пропускную способность, что может выявить некоторые узкие места пропускной способности в установке.

Пики и впадины на графике пропускной способности, по-видимому, происходят с довольно регулярными интервалами, и учитывая тот факт, что вы копируете один большой файл (максимальная пропускная способность, минимальные издержки), я бы сказал, что вы видите эффект буферизации / кэширования ,

Мне кажется, что вы, вероятно, отправляете данные в NAS с большей скоростью, чем она может записать их на диск. Благодаря записи в кэш / буферы он все еще может получать его с более высокой скоростью (пики графика), но вы не можете продолжать получать данные, не записав их на диск.

В конце концов буфер будет заполнен и должен быть записан на диск. Между тем, NAS не может получать данные так же быстро, как раньше, поскольку у него нет места для его хранения (буфер заполнен, а диски работают медленнее). Это где вы получаете долины графа.

Кажется, Windows сглаживает график пропускной способности. С более точными графиками (скажем, из Performance Monitor) вы можете реально оценить размер буфера записи, анализируя интервалы и передаваемые байты.

Причина, по которой пики и впадины не встречаются в абсолютно одинаковых интервалах, возможно, в том, что ПК, NAS или и то, и другое делают что-то еще, пока вы копируете файл.

1

Я думаю, что Microsoft представила эту функцию в индикатор выполнения в Windows 8.

Слева направо показывает прогресс в процентах, а движение вверх-вниз показывает скорость передачи в МБ / с.

Скорость передачи определяется скоростью передачи данных (шина или сеть), количеством и размером файлов, файловой системой, доступностью ресурсов и т.д.

Также во время передачи файлов происходит много чтения / записи метаданных.

Вы видите достаточно последовательную волну, поскольку эти издержки чтения / записи метаданных уменьшаются, а другие ресурсы используются с той же скоростью. Случайные провалы могут быть событиями потери пакета, следующего чтения чанка, опроса ресурса и т.д.

Для дальнейшего разъяснения здесь читайте дальше

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .