Недавно мне понадобился новый HDD для того, чтобы сохранить все свои данные из облака. Для этого я, ничего не подозревая, купил внешний HDD Toshiba Canvio Ready 2.5' на 4TB и практически сразу же столкнулся с проблемами зависания диска при распаковке больших архивов, а также при скачивании одновременно 10-20 больших файлов. Поэтому далее я решил провести подробное тестирование, дабы прийти к каким-то выводам.
P.S. Все тесты я проводил только на Винде. На других ОС (Linux, Unix, Mac, etc.) всё может быть совсем по-другому.
В ходе тестирования использовался несжатый архив (несжатые – это важное уточнение, дабы понимать, что скорость их распаковки не будет зависеть от производительности CPU) размером около 50ГБ.
Также для понимания, вот результаты бенчмарка этого HDD в CrystalDisk Mark:
И-так, тест первый: распаковка архива внутри HDD. В начале скорость была около 20МБ/с, но минут через 5 она упала до жалких ~5МБ/с в среднем, будучи при этом максимально нестабильной (с длительными падениями до 0 и кратковременными повышениями до 20).
Ждать окончания процесса (дабы понять, зависнет диск намертво или нет) я не стал – и так, и так скорость неюзабельна.
Дабы исключить проблемность самого архива, я решил проверить его распаковку на других дисках:
Внутренний (это важное уточнение, потом скажу, почему) SSD: средняя скорость распаковки – ~230МБ/с и процесс не вызывал совершенно никаких подозрений.
Внешний HDD от Silicon Power на 1TB: первое время скорость была 25-40МБ/с, падая раз в несколько минут до 4МБ/с (и показывая при этом 99% нагрузки на диск), а через 10-40 секунд возвращаясь в норму. Однако минут через 20 после очередного падения до 4МБ/с скорость больше не вернулась в норму. Ждать, пока закончится распаковка оставшихся 10-ти гигов на скорости 4МБ/с (дабы понять, зависнет диск намертво или нет) я не стал )0))).
Внутренний HDD от Seagate на 1TB: скорость распаковки составила железно стабильные 60МБ/с на протяжении всей распаковки.
Поскольку хотя бы на 2-х из 4-х протестированных накопителей проблем с распаковкой нет, значит, проблему архивов как таковых можно смело исключить.
А вот следующий момент очень интересный: внутренние (т.е. подключённые через SATA) накопители при распаковке использовали оперативную память.
В то время как внешние (подключённые по USB 3.0) накопители – оперативу не использовали.
Это можно понять по тому, отображается ли во время операций с данными в диспетчере задач память, помеченная как "изменённая".
Из этого уже кое-какие выводы можно сделать, но сперва закончим с тестированием нашего внешнего HDD от Toshiba.
И-так, тест второй: распаковка архива из этого HDD на внутренний SSD. Тут скорость составила 20-40МБ/с. Это всё ещё далеко от скорости чтения, которую показывает бенчмарк, но уже куда лучше, чем 5МБ/с. К тому же, данный процесс закончился успешно и был сравнительно стабилен.
Тест третий: обычное копирования файлов с этого HDD на SSD (файлов из этого же архива). Она варьировалась от 20 до 140МБ/с, но в основном тоже держалась около 40МБ/с. Процесс также закончился успешно и особых подозрений не вызывал (кроме абсолютного несоответствия результатам бенчмарка, но это ладно…)
Тест 4-й: копирование из SSD на этот HDD нескольких файлов параллельно. При таком копировании диск вынужден записывать много файлов одновременно (в моём случае я взял около 30 файлов общим объёмом 15ГБ). Первые минуты 2 HDD держал хоть какую-то скорость копирования, но далее она упала до нуля и лишь раз в 5-10 секунд возникали очень кратковременные попытки что-то записать со скоростью около 20МБ/с.
Причём, даже, когда остался всего один копируемый файл, он так и не смог восстановить скорость, а вплоть до самого конца записывал этот несчастный файл со скоростью всего 10-30МБ/с, периодически останавливаясь.
Ну, по крайней мере, он не завис наглухо во время этого процесса.
Однако, поскольку в этом тесте всё так плохо, стоит проверить, как с этим обстоят дела у других жёстких дисков:
Внешний HDD от Silicon Power на 1TB (тут кол-во файлов я взял почему-то большее, чем при тесте HDD от Toshiba, из-за чего тест не идеально сопоставим, но общую картину всё-равно показывает хорошо): началась запись с неплохой скоростью в >60 МБ/с, но почти сразу начались зависания длительностью в 5-20 секунд, а затем он и вовсе завис, причём, ещё в процессе накидывания мною новых файлов XD
Внутренний HDD от Seagate на 1TB: записал все файлы со стабильной скоростью около 120МБ/с, ни разу не захлебнувшись.
И снова видим, что внутренний накопитель использует более полутора гигабайт оперативной памяти для процесса записи данных.
Таким образом можно сделать вывод, что, по всей видимости, именно задействование RAM в процессе записи даёт внутренним накопителям огромное преимущество, когда им необходимо выполнять сразу несколько задач. Именно поэтому они, в отличии от внешних накопителей, не захлёбываются при параллельной записи нескольких потоков данных, а также при одновременном считывании данных из себя и записи других (или тех же самых) данных себе же.
В общем, какой итог можно подвести по всему этому тестированию?
1. Toshiba Canvio Ready – действительно очень медленный HDD (даже по меркам, собственно, жёстких дисков).
2. Использовать любый USB'шные HDD можно только для простых однопоточных задач. Т.е. для чтения или записи не более одного файла одновременно. Вплоть до того, что даже скачивать с и-нета несколько файлов одновременно не стоит (во всяком случае, если сами файлы достаточно большие), лучше это делать по очереди. По этой же причине использовать внешние HDD в качестве рабочих дисков (к примеру, для видеомонтажа или любой другой работы, требующей взаимодействия с большим кол-вом данных) – абсолютно ПРОТИВОПОКАЗАНО.
P.S. Данное утверждение справедливо только для HDD. В то же время, SSD сами по себе достаточно быстрые, чтобы таких проблем, как полные зависания или катастрофические падения скорости с ними не возникало. Тем не менее, работать они через USB в любом случае будут медленнее, чем будучи подключёнными даже через SATA3, а насколько медленнее – это уже зависит от конкретной модели.