Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

От чего зависит скорость копирования и почему она меняется?

first-programmer Знаток (427), закрыт 8 лет назад
Всем привет)

Подскажите, от чего зависит скорость копирования и почему она изменяется в течении одного процесса?

То есть я начинаю копировать файлы, идет процесс, и во время этого процесса скорость скачет от 0,1 до 10 мб в секунду (это копирование между сервером ubuntu на виртуалке и виндой - чтобы не удивлялись низкой скорости). Почему скорость не примерно одинаковая на промежутке всего процесса? Что влияет на этот показатель?
Дополнен 8 лет назад
Я наверно не правильно сформулировал вопрос в Теме сообщения. Меня интересует именно почему скорость меняется во время копирования. Что в целом скорость зависит и от процессора, и от винчестера, и от файловой системы (что одна быстрее обрабатывает крупные, а другая мелкие файлы), а еще от индексирования и других факторов. Это я знаю. Но мне интересно именно почему она меняется во время процесса копирования, хотя все из перечисленных показателей не измены.
Лучший ответ
Доктор Акаса Просветленный (44441) 8 лет назад
как вариант, твой процесс копирования не единственный, обращающийся к диску
ну и про фрагментацию тоже верно
Остальные ответы
John Smith Мыслитель (5032) 8 лет назад
Как один из вариантов - скорость может плавать от фрагментированности копируемой информации. Большой файл - будет скачок до 10, как пошли мелкие - падает до 0,1, т. к. при переходе от файла к файлу происходит смена адреса. В случае классического HDD - будет происходить перемещение считывающей головки, на что соответственно будет тратиться время и как следствие падать скорость.

Дофига еще причин может быть. Некоторые файлы может антивирус проверять, что также замедлит копирование и т. д.
John SmithМыслитель (5032) 8 лет назад
"и от файловой системы (что одна быстрее обрабатывает крупные, а другая мелкие файлы)"
Так я про одну файловую систему и писал. Ставите вы вот на копирование 1 файл размером 10Гб и 10000 файлов по 10Кб: большой файл копируется быстро, а как начались мелкие - скорость сразу упала. Заметьте, ни процессор, ни диск, ни файловая система естественно не поменялись при этом.

Кстати зависимость скорости копирования от процессора вообще минимальна, технологии подобные DMA (direct memory access), придуманы очень давно.
John SmithМыслитель (5032) 8 лет назад
Кстати, на одном большом фале скорость тоже может плавать, потому как нифига не факт что он непрерывен, иначе не было бы таких сервисных процедур как дефрагментация
first-programmer Знаток (427) Спасибо большое за развернутый ответ) На счет фрагментации, я как-то и не подумал, хотя это действительно важный показатель.
Сергей Казнадей Мастер (2216) 8 лет назад
Чем больше в копируемом объеме мелких файлов - тем медленнее. Вызвано это тем, что операционка старается использовать объем диска максимально полезно. При большом файле она пишет его последовательно сектор за сектором - скорость большая. Маленькие файлы ось пытается засунуть в пустые промежутки между уже записанными файлами. Соответственно на поиск таких промежутков уходит дополнительное время. Ну и от размера кластера тоже - чем меньше кластеры, тем больше сегментация, но больше полезный объем.
Похожие вопросы