SSD и ext4

Автор: Алексей Федорчук

В позапрошлой заметке, касаясь быстродействия SSD и Fedora на нём, я основывался исключительно на субъективных впечатлениях, которые в первую голову зависят от «оотзывчивости» системы на действия пользователей. Пришла пора рассмотреть быстродействие файловых операций — и «в цифре».

Не смотря на благие намерения придумать новую методику тестирования, высказанную в одной из предыдущих заметок на эту тему, руки до этого у меня так и не дошли, Так что предлагаю чисто оценочные результаты по старой методике, основанной на операциях копирования и удаления, которым были подвергнуты следующие объекты:

  • каталог с 16 музыкальными файлами формата FLAC, размером от 10 до 27 Мбайт, суммарным объёмом 357 Мбайт;
  • дерево портежей Gentoo, включающее более 12 тысяч файлов и подкаталогов, размером от нескольких сот байтов до первых килобайт, при суммарном объёме каталога около 229 Мбайт; не из какого-либо пристрастия к этому дистрибутиву — просто снапшот портежей оказался у меня под рукой;
  • avi-файл, сшитый из всех пяти серий фильма “Адьютант его превосходительства”, объемом 3,4 Гбайт;
  • iso-образ компакт-диска (дистрибутив Xubuntu 8.04.1 Alternate), объёмом 586 Мбайт.

Измерения проводились под управлением Fedora 13 на файловой системе ext4 в двух режимах:

  • умолчальном (опция монтирования data=ordered), когда журналируются только метаданные, а целостность данных поддерживается тем, что запись данных в файл осуществляется их фиксацией до внесения изменений в журнал;
  • writeback — вопреки мнению, которое можно встретить в сети, это не отключение журналирования вообще, а журналирование лишь голых метаданных.

Теоретически предполагается, что второй режим, при некотором снижении надёжности, обеспечивает большее быстродействие. Так ли это? Для ответа на данный вопрос обратимся к таблице, в которой для сравнения приведены данные по тем же файловым операциям, полученным на той же машине  на традиционном винчестере, несущем файловую систему ext4, смонтированную по умолчанию (то есть в режиме ordered).

Таблица. Быстродействие файловых операций на SSD в разных режимах журналирования в сравнении с традиционным HDD

Тест Копирование Удаление
Ext4 Flac Портежи Avi Iso Портежи
Ordered, SSD 00:04 00:43 01:03 00:08 00:06
Writeback, SSD 00:02 00:47 01:02 00:08 00:10
Ordered, HDD 00:10 00:15 01:44 00:19 00:04

Для начала сравним первый и последний набор значений, то есть ext4 в режиме oerdered на SSD и на HDD.

Скорость копирования, мин:сек

ssd-ext4.jpg

Примечание: в колонках слева направо: SSD ordered, SSD writeback, HDD oedered

Из диаграммы можно видеть, что на трёх операциях из четырёх SSD демонстрирует полутора- или двукратное преимущество над HDD. А вот результат на копировании дерева портежей, то есть очень большого количества очень маленьких файлов, для SSD оказывается провальным — если учесть его паспортные характеристики. Видимо, контроллер твердотельного накопителя тратит ну очень много времени на раскидывание этого изобилия файликов по своему дисковому пространству. Аналогично и при удалении — ни малейшего выигрыша от использования SSD мы не видим (а видим, напротив, некоторый проигрыш).

Но, может быть, ext4 в режиме writeback покажет себя во всей красе на SSD? Ничего подобного: на операциях копирования различных объектов мы видим примерно те же самые результаты (в пределах ошибки эксперимента). А на удалении дерева портежей в режиме writeback обнаруживается просто чистый проигрыш.

То есть в итоге SSD всё равно выигрывает у HDD на реальных файловых операциях, хотя выигрыш этот не столь впечатляющий, как можно было бы подумать, исходя из субъективных ощущений. Но ведь чувство комфорта и отзывчивости — оно тоже дорогого стоит, например, в плане сохранности нервных клеток. А массовым копированием можно заниматься и по ночам.

Существует мнение, и не только моё, что кардинально преимущества SSD должны проявиться под файловой системой btrfs. К этому вопросу я надеюсь вернуться в ближайшее время.

SSD и ext4: 3 комментария

  1. Судя по портежам вы не выровняли раздел. Более того, для максимальной производительности надо делать оптимизации в виде опций монтирования, планировщика I/O и т.п. Надо было читать блог Theodore Ts’o и сопутствующие тематические материалы. Про оптимизацию SSD уже написаны горы инфы, но вы походу ничего не читали и вам это нисколько не мешает… похвально! Фороникс одоряет этот «тест».

  2. Кстати Nova на индилинксе, причем вроде первого поколения, который жестоко лажает на записи. Это вам не 10-канальный интел. Сколько денег заплатили, то и получили ;)

  3. У вас опечатка под первым графиком: Примечание: в колонках слева направо: SSD ordered, SSD writeback, HDD o(!)e(!)dered

    PS. Спасибо за столь интересные сравнения!

Обсуждение закрыто.