Автор: Алексей Федорчук
В позапрошлой заметке, касаясь быстродействия 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 ordered, SSD writeback, HDD oedered
Из диаграммы можно видеть, что на трёх операциях из четырёх SSD демонстрирует полутора- или двукратное преимущество над HDD. А вот результат на копировании дерева портежей, то есть очень большого количества очень маленьких файлов, для SSD оказывается провальным — если учесть его паспортные характеристики. Видимо, контроллер твердотельного накопителя тратит ну очень много времени на раскидывание этого изобилия файликов по своему дисковому пространству. Аналогично и при удалении — ни малейшего выигрыша от использования SSD мы не видим (а видим, напротив, некоторый проигрыш).
Но, может быть, ext4 в режиме writeback покажет себя во всей красе на SSD? Ничего подобного: на операциях копирования различных объектов мы видим примерно те же самые результаты (в пределах ошибки эксперимента). А на удалении дерева портежей в режиме writeback обнаруживается просто чистый проигрыш.
То есть в итоге SSD всё равно выигрывает у HDD на реальных файловых операциях, хотя выигрыш этот не столь впечатляющий, как можно было бы подумать, исходя из субъективных ощущений. Но ведь чувство комфорта и отзывчивости — оно тоже дорогого стоит, например, в плане сохранности нервных клеток. А массовым копированием можно заниматься и по ночам.
Существует мнение, и не только моё, что кардинально преимущества SSD должны проявиться под файловой системой btrfs. К этому вопросу я надеюсь вернуться в ближайшее время.
Судя по портежам вы не выровняли раздел. Более того, для максимальной производительности надо делать оптимизации в виде опций монтирования, планировщика I/O и т.п. Надо было читать блог Theodore Ts’o и сопутствующие тематические материалы. Про оптимизацию SSD уже написаны горы инфы, но вы походу ничего не читали и вам это нисколько не мешает… похвально! Фороникс одоряет этот «тест».
Кстати Nova на индилинксе, причем вроде первого поколения, который жестоко лажает на записи. Это вам не 10-канальный интел. Сколько денег заплатили, то и получили ;)
У вас опечатка под первым графиком: Примечание: в колонках слева направо: SSD ordered, SSD writeback, HDD o(!)e(!)dered
PS. Спасибо за столь интересные сравнения!