Скорость чтения/записи моих внешних жестких дисков USB3 (*) значительно выше, когда диски пустые (нет обычных файлов; занято менее 10 МБ) по сравнению с тем, когда они умеренно заполнены (2,5 миллиона файлов; занято около 1 ТБ).
Вот таблица с результатами скорости дляЖесткий диск Seagate 3 ТБизмерено с помощьюXбенчapp и используя dd
команду (**). В Xbench более высокие баллы означают более высокую скорость диска. В dd
output (seconds) более низкие баллы означают более высокую скорость:
╔═════════════╦════════╦══════╗
║ Disk config ║ XBench ║ dd ║
╠═════════════╬════════╬══════╣
║ Empty ║ 140 ║ 25s ║
║ 1/3 full ║ 100 ║ 56s ║
╚═════════════╩════════╩══════╝
Поэтомупроизводительность падает минимум на 30%!Почему? Я использую диски для клонирования резервной копии системы OSX на iMac, поэтому они содержат много файлов, но все файлынаписано в одном большом задании на письмо(используя Carbon Copy Cloner), что означает, что диски не должны быть сильно фрагментированы. Кроме того, заполненные диски заполняются только на 30%, так что остается много свободного места.
Нормально ли это снижение скорости? Чем это объясняется?Существует ли формула, которая показывает снижение скорости в зависимости от степени заполнения накопителя?
(*) Жесткие диски, которые я использую,Seagate Расширение 2 ТБиWD My Book Studio 3 ТБ. Они напрямую подключены к моему iMac через USB3.
(**) Вот команда dd, с помощью которой я тестирую скорость (записи):dd bs=1024k count=4096 if=/dev/zero of=/Path/To/Volume/test
решение1
Снижение производительности, вероятно, связано с перегрузкой файловой системы, поскольку у вас очень много мелких файлов.
Попробуйте заменить 1 ТБ данных, состоящий из 2,5 миллионов файлов, на 1 ТБ данных, состоящий всего из нескольких очень больших файлов, а затем запустить тот же тест.
Как отметил @Josh Vazquez, производительность жестких дисков снижается по мере заполнения, но, судя по тому, что я видел, снижение должно составлять всего около 10%, когда диск заполнен примерно на 1/3, а не 30% или больше, как вы видите.