В останніх релізах ядра Linux додано кілька нових файлових систем, наприклад в релізі 2.6.28 з'явилася стабільна EXT4. а зовсім недавно, в 2.6.30 з'явилася NILFS. Будучи бенчмарк-маніяками ми вирішили, що ми повинні порівняти продуктивність EXT4, Btrfs і NILFS2. Тест був проведений на Ubuntu з ядром Linux 2.6.30. Також ми порівняли ці файлові системи з EXT3 і XFS.
Перш ніж ми почнемо, - короткий опис цих файлових систем. EXT4 є наступником EXT3 і підтримує розділи до 1 ExaByte. Раніше ми порівнювали EXT4 і виявили, що вона краще EXT3 по більшості тестів.
Файлова система Btrfs ще не стабільна. Btrfs підтримує онлайн дефрагментацію, режим SSD оптимізації, Zlib компресію і інші. Кілька місяців тому ми випустили тести продуктивності Btrfs. Ці тести показують, що Btrfs відмінно працює в деяких областях, але також в деяких місцях залишає бажати кращого.
NILFS2 - остання файлова система, яка виступає за новий тип лог-структуризувати файлових систем. Вона, як і Btrfs, підтримує знімки. Це буде перший тест NILFS2 в Phoronix.
SATA жорсткий диск був відформатований в відповідну файлову систему для тестування. Всі параметри монтування та налаштування файлових систем були залишені за замовчуванням. На нашій Ubuntu 9.20 використовувалися Linux 2.6.30, Gnome 2.27.3, X Server 1.6.1.901, xf86-video-radeon 6.12.2, Mesa 7.4.1 і GCC 4.4.0.
Крім оцінки продуктивності EXT4, Btrfs і NILFS2, ми також провели кілька тестів з EXT3 і XFS. Для проведення тестів використовувався Phoronix Test Suite. Ми використовували в тестах паралельну BZIP2 компресію, Bork File Encrypter, SQLite, PostgreSQL, Apache HTTP, IOzone, Dbenchm Threaded I / O Tester, PostMark і BlogBench.
Ми почали експеримент з паралельної Bzip2 компресии для оцінки того, як швидко файлова система дозволяє стискати 2GB тестовий файл в PBZIP2 формат. XFS була найшвидшою в цьому тесті. Є не значна різниця між XFS і EXT3, але XFS була трохи краще. XFS і EXT3 працювали швидше, ніж три нових ФС: EXT4, Btrfs і NILFS2. У Btrfs найгірший результат в цьому тесті.
Тут EXT4 показала кращий результат зашифровуваної тестового файлу з використанням Java-based Bork encryption program, але у Btrfs майже такий-же результат. Файлові системи XFS і EXT3 були повільніше, ніж EXT4 / Btrfs, але NILFS2 була найповільнішої в цьому тесті.
SQLite тест дозволяє дізнатися, як довго будуть виконуватися 12500 вставок, використовуючи легку SQL БД. EXT3 і NILFS2 - чисті переможці. Їх результати - 20 і 34 секунд відповідно, 870 секунд для EXT4, 1312 секунд для XFS і тисячу чотиреста сімдесят дві секунди для Btrfs! Ці результати трохи шокують, але Phoronix Test Suite виконав цей тест кілька разів і результати були однакові. Це важливий тест, такі програми як Mozilla Firefox і програми Adobe використовують SQLite.
Ми провели ще один тест продуктивності з базою даних, але на цей раз - з PostgreSQL. XFS і Btrfs вийшли занадто повільні навіть для завершення тесту, тому їх результати ми взагалі не включили в графік. Найвищу продуктивність показала EXT3, EXT4 була трохи повільніше.
Тест Apache Benchmark показує, як багато запитів в секунду може зробити HTTP-server, що працює на localhost, з статичної web-сторінок. Результати виявилися хороші для всіх п'яти файлових систем. Btrfs показала найгірший результат, але відстала від інших зовсім не сильно.
Цей тест показує швидкості запису файлу, розміром 2 Гб. EXT4 показала найкращий результат - 131МБ / сек.
Цей тест відрізняється від попереднього тим, що розмір записуваного файлу - 4GB. У EXT4 також кращий результат.
Тест швидкості читання з файлу. EXT4 знову найшвидша, EXT3 - слідом за нею.
Проводячи тест записи 8GB файлу, ми не здивувалися, що EXT4 виграла. У NILFS2 найгірший результат.
Тут у EXT4, EXT3 і Btrfs майже однакові показники, однак EXT4 все-таки перша.
З NetApp PostMark бенчмарком, які працюють через Phoronix Test Suite, EXT4 виконала більше транзакцій в секунду, ніж інші ФС. Найгірші результати у XFS і NILFS2
BlogBench. Оцінка продуктивності при записі на диск з симуляцією веб-сервера. У Btrfs і EXT4 кращі результати, у XFS - найгірший.
Ми не закінчили з тестуванням EXT4 vs. Btrfs vs. NILFS2, тому-що ще належить запустити тести цих файлових систем на твердотільних дисках (SSD), але по поточним тестів, EXT4 виглядає набагато краще, коли мова заходить про продуктивності в порівнянні з Btrfs і NILFS2. Разом з тим, EXT4 - просто поліпшена модернізація EXT3, в той час як Btrfs і NILFS2 - повністю оригінальні ФС. Крім того, всі випробування проводилися з настройками за замовчуванням для файлових систем. Ще кілька релізів ядра і ми, ймовірно, побачимо поліпшені NILFS2 і Btrfs. Ті, хто зацікавлений в проведенні власних тестів файлових систем, можуть зробити це за допомогою Phoronix Test Suite.
Можливо, ці матеріали Вас зацікавлять:
Спасибі, за цікавий тест.