Читая о способах повышения выносливости SSD, я наткнулся на Технический документ Intel по вопросу избыточного выделения ресурсов SSD (ограничение доступного для хоста пространства на диске или исключение части адресуемого в разделе, чтобы позволить контроллеру управлять входящими данными, уменьшая усиление записи и повышая долговечность диска). Любопытно, что в документе также упоминается, что избыточное выделение ресурсов может улучшить производительность произвольной записи. Стремясь проверить это, я провел тесты произвольной записи sysbench на нескольких различных конфигурациях на моем твердотельном накопителе Intel 545s емкостью 256 ГБ.
К моему разочарованию, конфигурации 2–4 все работали немного хуже, чем конфигурация без избыточного выделения ресурсов пользователем. Почему я не вижу увеличения производительности? Я тестирую неправильно, или разницу можно объяснить тем, что прошивка клиентского SSD ведет себя иначе, чем диски центра обработки данных, которые в документе Intel показаны в качестве примера?
Тесты проводились в системе Linux с запущенной файловой системой ext4.
sysbench --test=fileio --file-total-size=64G --file-test-mode=rndwr --init-rng=on --max-time=300 --max-requests=0 run
На диске не было ничего, кроме файлов, созданных sysbench для тестирования.
Избыточная инициализация диска не сделает его «быстрее» в обычном смысле слова. Рекламируемые пиковые скорости не увеличиваются. Однако что он сделает, так это улучшит работу SSD в ситуациях высокой загрузки. Привод будет работать ближе к максимальной производительности в течение более длительного времени. Это объясняется в опубликованном вами техническом документе.
Это произойдет двумя способами:
Выносливость. Поскольку для хранения используется меньше дискового пространства, имеется больше свободного места для повторного использования, что приводит к более длительному сроку службы, чем диск с тем же выделенным пространством, но с меньшим объемом свободного пространства. Это связано с тем, что ячейки памяти имеют фиксированное количество операций записи в течение своей жизни.
Запись усиления. SSD работают блоками и страницами, а не секторами, как традиционный жесткий диск. SSD выполняет служебные задачи в фоновом режиме, такие как перемещение страниц и очистка блоков перед записью новых данных. На это время клиентские операции приостанавливаются. Чем больше свободной площади, тем меньше этого происходит, что увеличивает производительность.
Чтобы по-настоящему увидеть преимущества этой настройки в производительности, вам нужно будет записать на диск гораздо больше данных. Запись только 64 ГБ данных на SSD с 256 ГБ или 200 ГБ адресуемого пространства не покажет разницы, так как не превысит выделенную область диска.