Я планирую протестировать файловую систему. Что я должен сделать. или как добиться того же. Есть ли какие-нибудь инструменты для тестирования файловой системы или какие-либо надежные ссылки?
Цель: Планируется переход с ext3 на EFS.
Мой первый ответ тоже был бы bonnie ++, быстрый поиск также показывает Iozone3. Оба доступны в виде пакетов Debian. Если вы выполняете более простые тесты (cp, mv, rm), вам следует подумать об очистке кеша, хранящегося в ядре, с помощью echo 1 > /proc/sys/vm/drop_caches
перед каждым тестом, иначе это может вызвать различия, не репрезентативные для самой файловой системы.
Вот еще два варианта, я нашел их действительно полезными для тестирования файловой системы.
1) Штемпель - это тест, который имитирует реальное использование файловой системы, к которой обращается загруженный почтовый сервер.
Скачать: http://www.freshports.org/benchmarks/postmark/
При тестировании убедитесь, что вы сравнили разные варианты ведения журнала ext3 - они могут сильно отличаться с точки зрения производительности (ведение журнала обратной записи дало лучший результат в моих экспериментах с Postmark).
2) Filebench - еще один отличный тест, дающий вам еще большую гибкость. Если у вас есть конкретная причина для перехода с ext3, вам, вероятно, понравится filebench - в нем много разных рабочих нагрузок, так что вы можете сосредоточиться только на интересующем вас узком месте производительности (операции создания / удаления файлов или последовательное чтение / запись vs случайные, чтобы дать вам несколько примеров).
Вы должны найти это в Google, так как мне еще не разрешены гиперссылки - сам проект размещен на SourceForge, а действительно хорошее руководство по быстрому запуску можно найти на веб-сайте OpenSolaris.org.
И последнее замечание: убедитесь, что нагрузка распределяется по как можно большему количеству дисков (шпинделей) для получения наиболее точных результатов. Также имеет смысл выделить несколько дисков специально для тестирования и обновлять их перед каждым запуском теста.
Не просто проверяйте скорость, учитывайте также надежность. Попробуйте, например, выключить диски в загруженной файловой системе и посмотреть, что осталось.
Качество доступных инструментов для ремонта и восстановления также важно, и их очень сложно тестировать отдельно. Блочная структура может, например, запретить инструменты, которые пытаются спасти данные в необработанном режиме из неисправной файловой системы.
Для получения дополнительных советов по тестированию файловой системы в очень жестких условиях вам может быть интересно, что сделали ребята из ZFS: Один Два
Мы используем Коврик для тестирования файловых систем наших серверов. Он основан на Python и прост в использовании. Он работает путем создания большого файла, который он подразделяет, а затем выполняет различные операции последовательно или параллельно.
Изменить: вот пример скрипта, который будет многократно тестировать / data (раздел), пока скрипт не будет убит:
#!/bin/bash
(
while true
do
cd /data
rm -rf *
rugg 'zone 97%, subdivide 16 | blank | ensure blank | fill same text, ensure same'
done
) | tee /tmp/rugg.log
exit 0
Еще немного:
Пока Бонни ++ в первую очередь ориентирован на тестирование производительности, он работает над файловой системой. Он выполняет несколько тестов, которые дают разные результаты для каждой файловой системы. Я подозреваю, что вас, вероятно, также интересует изменение производительности, связанное с EFS, поэтому вы можете попробовать это хотя бы в качестве одного из ваших тестов.