/ Soft-обзор / / Bonnie++ /

Bonnie++

Дата публикации: April 1, 2010
Теги: бенчмарк, производительность,
Автор:

Название: Bonnie++
Тип: Бенчмарк
Тип интерфейса: Console
Разработчик: Russell Coker
от: April 1, 2010
Лицензия: GPL
Сайт: http://www.coker.com.au/bonnie++/

Bonnie++ - популярный бенчмарк для тестирования производительности жестких дисков и файловых систем.

Как видно из названия, Bonnie++ основан на бенчмарке Bonnie. Существует много различных типов операций над файлами и разные программы их по разному используют. Bonnie++ тестирует некоторые из них и выводит результат по каждому из тестов. Распространяется по лицензии GPL2.

Есть две секции операций в тестах. Первая - IO тест, который моделирует поведение некоторых приложений баз данных. Вторая - тест на создание, чтение и удаление большого количества маленьких файлов.

Bonnie++ позволяет эмулировать работу почтового сервера, базы данных и много других вещей. Этим бенчмарком можно просто сильно нагрузить жесткий диск, чтобы убедиться в его работоспособности. С помощью Bonnie++ можно протестировать производительность в различных зонах жесткого диска.

Bonnie++ может действительно хорошо протестировать работу жесткого диска и с помощью нее вы сможете наиболее четко увидеть, как изменится производительность вашей системы, если вы, к примеру, измените настройки файловой системы или саму файловую систему, или же перенесете данные с локального диска в сеть и т.д.

Опции bonnie++:
-d - директория, в которой будут проводиться тесты
-s - размер файлов для IO теста (в МБ). Если размер больше 1ГБ, тогда для теста будет использоваться несколько файлов, каждый из которых будет размером 1ГБ. Если размер равен 0, этот тест будет пропущен. Так же bonnie++ даст рекомендацию, что размер файла должен быть равен двойному размеру вашей ОЗУ. Собственно, такой размер и будет использоваться, если не указать его самому.
-n - кол-во файлов для теста по созданию файлов, кратное 1024. Указывается так:
number:max:min:num-directories, где:
number - кол-во файлов;
max - максимальный размер файла;
min - минимальный размер файла. По умолчанию оба - 0. Если max и min указаны, размер генерируется рандомно для каждого файла.
num-directories - кол-во поддиректорий.
Если кол-во файлов - 0, этот тест будет пропущен. Если max равен -1 (минус один), вместо файлов будут создаваться жесткие ссылки. Если max равен -2 (минус два), вместо файлов будут создаваться символические ссылки.
-r - размер ОЗУ в мегабайтах. Хорошо определяется программой. Можно не указывать, если не нужно.
-m - название компьютера. Нужно только для различения результатов с разных компьютеров.
-x - кол-во запусков теста. Нужно, если вы хотите провести больше чем один тест. При указании этой опции, bonnie++ сразу выплюнет длинную строку текста перед началом теста - не беспокойтесь - это описание вывода в формате CSV, т.к. с опцией -x bonnie++ будет выводить результаты теста сразу в этом формате пока все тесты не будут завершены или пока вы не прибьете процесс сами :) Как преобразовать его в красивую таблицу, будет описано ниже.
-u - пользователь, от имени которого будет работать тест.
-q - Если указана эта опция, bonnie++ будет выводить только результаты тестов и сообщения об ошибках (если они будут). Удобно использовать вместе с опцией -x


Примеры запуска bonnie++:
$ /usr/sbin/bonnie++ -d /files
# все по умолчанию, указали только директорию
$ /usr/sbin/bonnie++ -d /files -n 100:15000:0:20
# указали настройки для теста по созданию файлов - создать 100*1024 файла, максимальный размер - 15000 байт, минимальный - 0 байт, 20 поддиректорий
$ /usr/sbin/bonnie++ -d /files -q -x 10
# сокращенный режим вывода. 10 повторов теста
$ /usr/sbin/bonnie++ -d /files -q > out.csv
#сокращенный режим вывода и записать результаты в файл out.csv
$ /usr/sbin/bonnie++ -d /files -q > out.csv && cat out.csv | bon_csv2html > bonnie_out.html
#сокращенный режим вывода, записать результаты в out.csv и сразу перевести их в html


Вы можете запускать bonnie++ с настройками по умолчанию, самой важной опцией является -n , т.к. именно в ней задаются параметры для одного из основных тестов.

Пример работы с bonnie++:
$ /usr/sbin/bonnie++ -d /files
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
desktop          7G   224  93 76543  17 36030   9   499  71 100529  11 154.7   4
Latency             72149us    1595ms     962ms     142ms     143ms     921ms
Version  1.96       ------Sequential Create------ --------Random Create--------
desktop             -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  9654  38 +++++ +++ 18685  54 21079  77 +++++ +++ 21865  70
Latency              7462us    2218us    5072us    3418us     905us    5910us
1.96,1.96,desktop,1,1270024521,7G,,224,93,76543,17,36030,9,499,71,100529,11,154.7,4,16,,,,,9654,38,+++++,+++,18685,54,21079,77,+++++,+++,21865,70,72149us,1595ms,962ms,142ms,143ms,921ms,7462us,2218us,5072us,3418us,905us,5910us
Не очень приятный глазу вывод... Но вы можете это улучшить. Последняя длинная строка - сокращенный вывод. Скопируйте ее, чтобы получилось так:
$ echo 1.96,1.96,desktop,1,1270024521,7G,,224,93,76543,17,36030,9,499,71,100529,11,154.7,4,16,,,,,9654,38,+++++,+++,18685,54,21079,77,+++++,+++,21865,70,72149us,1595ms,962ms,142ms,143ms,921ms,7462us,2218us,5072us,3418us,905us,5910us | bon_csv2html > bonnie_out.html
Теперь откройте html файл в браузере (Я не стал вставлять пример таблицы с результатами, т.к. она по не влазит по ширине в сайт). Уже лучше! Теперь осталось узнать что это все означает и, что самое трудное, понять, что с этим можно сделать :) Но это уже тема отдельной серьезной статьи, а тут - всего-лишь маленький обзор, чтобы вы могли понять, с чем имеете дело.

PS:
"++++" в результате означают, что операция была выполнена настолько быстро, что Bonnie++ не смогла дать корректный результат.
Если вам не хочется лезть в дебри, просто знайте, что цифры, относящиеся к % CPU - меньше=лучше; все остальное (почти) больше=лучше. Проведите 2 одинаковых теста на 2-х жестких дисках или файловых системах и сравните результаты.
Может быть выложу результаты для сравнения S-ATA-II и IDE, если не забуду =)





Возможно, эти материалы Вас заинтересуют:


Рекомендовать эту страницу:

Комментарии:(1)

# Aleks Revo Jan. 13, 2011, 2:48 p.m.
Лучше тогда сравнение SATA и SCSI ))
Спасибо за лаконичную статью - быстрое введение в программку

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

Гость, Вы можете оставить свой комментарий.

Стиль кода:
Имя
Сайт * не обязательное поле
Поставьте галку, если вы - бот
Поставьте галку, если вы - человек

Друзья! Убедительная просьба воздержаться от нецензурной лексики!



Справка:
Если вы хотите использовать в тексте комментария специальные символы, например, [ и ], используйте их внутри тега [code] [/code]
Вы можете использовать теги BBcode. Для оформления кода и подсветки синтаксиса используйте тег [code] или [code=название_языка], например, [code=python]
Ссылки вставляйте так: [url]zenux.ru[/url] или так: http://zenux.ru, но не так: zenux.ru
Текст сообщения должен быть в пределах 3000 символов.




Последние комментарии:

Раиса: <p style=“text-align: center;”>&... >>>
DistaBamba: P.S. Вот такой себе замутил#!/bin/bashname=`date +... >>>
DistaBamba: Спасибэла за статью и коменты, товарищ автор и чув... >>>
труадмин: серега гавно... >>>
Руслан 2: Продолжение8) Сравнение 2D производительности - Ди... >>>