8 декабря 2009 г.

Тестирование файловых систем. Часть I. Описание

Характеристика системы:

ПО:
Дистрибутив Linux - Ubuntu 9.10 Karmic Koala
версии пакетов:
ядро – linux-generic-2.6.31
coreutils-7.4
e2fsprogs-1.41.9
reiserfsprogs-3.6.21
btrfs_tools-0.19
Устанавливалась только базовая система без графической среды с Alternate CD.



«Железо»
Процессор: Двухядерный процессор Intel Pentium 4 - 2,66GHz (BogoMIPS=5225 на ядро)
Жесткий диск: Seagate ST380011A, PATA, 80Gb
Контроллер жесткого диска: Intel 82801EB/ER (ICH5/ICH5R)
Количество оперативной памяти: 2G
Размер раздела с тестовым набором файлов: 28G
Размер тестируемого раздела: 28G

Набор тестов:
1. Сравнительное тестирование скорости операции чтения — проводится путем записи набора тестовых файлов на тестируемую ФС.
2. Сравнительное тестирование общей скорости операций чтения-записи — производится путем копирования набора тестовых файлов в другую директорию на той же тестируемой ФС.
3. Сравнительное тестирование скорость операций чтения — производится путем копирования набора тестовых файлов с тестируемой ФС на исходный раздел с тестовыми файлами. Поскольку раздел с тестовыми файлами один и тот же для всех тестов, то различия в скорости операций будут как раз указывать на скорость операций чтения тестируемой ФС.
4. Сравнительное тестирование скорости удаления файлов — удаление набора тестовых файлов с тестируемой ФС
5. Скорость выполнения поиска по ФС — осуществляется запуском команды find с одним и тем же набором опций для всех тестируемых ФС

Тестовые файлы:
Все тестовые файлы располагались на отдельном разделе жесткого диска размером 28G с файловой системой ext4. В качестве них выступали:
1. Для тестирования скорости работы ФС с маленькими файлами использовалось распакованное дерево portage от Gentoo, которое представляет собой множество маленьких файлов. Общий размер 581М. Количество файлов - 112 903.
2. Дерево portage+distfiles от установленной Gentoo (включает в себя набор патчей для сборки и исходники KDE4, GNOME, XFCE4, Openoffice.org, Sun Java и много чего еще). Представляет собой (на мой взгляд) хорошую модель содержимого «файловой помойки», т.к. содержит файлы размером от нескольких байт (патчи, файлы ebuild) до сотен мегабайт (исходники «тяжелых пакетов» типа KDE и Openoffice). Общий размер 3,9G. Количество файлов - 114 151.
3. Для выполнения тестирования скорости работы ФС с большими файлами в качестве подопытных выступали: 2 avi-файла размером по 394М, 2 avi-файла размером по 700М и архив из п.2 размером 3,3G. Общий размер файлов — 5,5G.

Методика тестирования
  • Тестирование каждой из операций осуществлялось в последовательности указанной в п.п. «Набор тестов».
  • Каждое измерение производилось три раза, а затем полученные результаты усреднялись. В случае слишком большого различия между получаемыми результатами в рамках одного теста (например, для одной и той же операции получаемое время было то 2:30, то 3:50) — тесты переделывались заново.
  • Для исключения влияния кэширования чтения-записи после выполнения каждой из операций система перезагружалась.
  • Все тесты проводились на обычном разделе жесткого диска (RAID и LVM не использовались).
  • Тестируемая файловая система создавалась с помощью команды mkfs.fstype /dev/sda7 . Все файловые системы монтировались с ключом defaults в файле /etc/fstab.
  • Измерение времени выполнения операций работы с диском осуществлялось с помощью стандартной команды time.
  • Планировщик ввода-вывода стандартный - cfq
В задачи тестирования не входило измерение скорости операций чтения-записи. Главная цель сравнительное тестирование следующих файловых систем: ext2, ext3, , ext4, reiserfs, btrfs, xfs. Драйвера для работы с reiserfs4 в Ubuntu обнаружить не удалось, поэтому она в тесте не участвовала.
Я выполнил почти все тесты, осталось совсем немного. Нужно дотестировать, обработать результаты и построить много красивых графиков ;). Надеюсь управиться к концу недели.

Насчет того, что для таких тестов есть bonnie и bonnie++, я знаю :). Есть даже идея попробовать сделать и такие тесты и затем сравнить с тем, что получится так...

Комментариев нет:

Отправить комментарий