<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF111%3ADrBrown2</id>
		<title>LXF111:DrBrown2 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF111%3ADrBrown2"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF111:DrBrown2&amp;action=history"/>
		<updated>2026-05-13T03:53:23Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF111:DrBrown2&amp;diff=9128&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF111:DrBrown2&amp;diff=9128&amp;oldid=prev"/>
				<updated>2009-11-26T05:18:23Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Поджарый или раздутый?==&lt;br /&gt;
&lt;br /&gt;
: ''Bonnie++'' Управляемый способ измерить производительность файловой системы.&lt;br /&gt;
&lt;br /&gt;
Вы когда-нибудь задумывались над тем, как настройки файловых систем влияют на их производительность? Будет ли быстрее создать их непосредственно в разделе или на логических дисках? Насколько возрастает нагрузка на ресурсы, если файловая система предоставляется хост-ОС в виртуальной среде? Медленнее&lt;br /&gt;
ли USB-брелки и сетевые устройства хранения данных, чем локальные диски? Стоит ли размещать файл журнала ext3 на отдельном устройстве?&lt;br /&gt;
&lt;br /&gt;
Чтобы ответить на подобные вопросы, нужен способ измерения производительности файловой системы. Одно из решений проблемы –&lt;br /&gt;
''Bonnie++''. Эту утилиту написал Рассел Кокер [Russell Coker] (см. http://www.coker.com.au/bonnie++); она основана на другой программе, которая&lt;br /&gt;
называется (угадайте, как?) ''Bonnie'' и написана Тимом Греем [Tim Gray].&lt;br /&gt;
Хотя бинарные файлы ''Bonnie++'' есть в репозиториях большинства дистрибутивов Linux, можно легко скомпилировать их из исходников.&lt;br /&gt;
Загрузите '''tar'''-архив по ссылке на странице Рассела Кокера. Мы скачали файл '''bonnie++-1.03d.tgz''' в подходящий каталог. Собрать программу&lt;br /&gt;
не составило труда:&lt;br /&gt;
&lt;br /&gt;
 $ wget http://www.coker.com.au/bonnie++/bonnie++-1.03d.tgz&lt;br /&gt;
 $ tar xzf bonnie++-1.03d.tgz&lt;br /&gt;
 $ cd bonnie++-1.03d&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
===Как пользоваться ''Bonnie++''===&lt;br /&gt;
&lt;br /&gt;
На '''man'''-странице перечислены некоторые опции настройки параметров тестирования. В частности, '''-d''' позволяет указать каталог, для которого&lt;br /&gt;
будут выполняться все действия; понятно, что нужно указать каталог внутри точки монтирования файловой системы, характеристики которой нужно получить. Также можно задать пользователя, от имени которого будут производиться тесты, и общее количество циклов, которые будут выполнены. Вот пример запуска:&lt;br /&gt;
&lt;br /&gt;
  $ bonnie++ -m ‘USB IDE’ -d /media/disk -n 1:1024:0:10 &amp;gt; bonnie.out&lt;br /&gt;
  Writing with putc()...done&lt;br /&gt;
  Writing intelligently...done&lt;br /&gt;
  Rewriting...done&lt;br /&gt;
  Reading with getc()...done&lt;br /&gt;
  Reading intelligently...done&lt;br /&gt;
  start ‘em...done...done...done...&lt;br /&gt;
  Create files in sequential order...done.&lt;br /&gt;
  Stat files in sequential order...done.&lt;br /&gt;
  Delete files in sequential order...done.&lt;br /&gt;
  Create files in random order...done.&lt;br /&gt;
  Stat files in random order...done.&lt;br /&gt;
  Delete files in random order...done.&lt;br /&gt;
&lt;br /&gt;
Опции команды, которые я в нем использовал, перечислены ниже:&lt;br /&gt;
* '''-m''': Указать текстовую метку для данного набора результатов. По умолчанию – имя машины.&lt;br /&gt;
* '''-d''': Указать тестируемый каталог&lt;br /&gt;
* '''-n''': Указать (a) использовать набор из 1024 файлов для теста по  созданию файла, (b) использовать максимальный размер файла 1024 байт, (c) использовать минимальный размер файла 0 байт, и (d) распределить эти файлы по 10 каталогам.&lt;br /&gt;
&lt;br /&gt;
''Bonnie++'' измеряет производительность трех типов операций: скорости чтения и записи, число обращений к диску в секунду и число&lt;br /&gt;
операций с метаданными (таких как создание и удаление файла) в секунду. Так как использование файловой системы сильно зависит от&lt;br /&gt;
компьютера, измерения одного параметра недостаточно. Например, для почтового сервера самый важный параметр – скорость работы с&lt;br /&gt;
файловыми метаданными. Лучше всего она представлена в параметрах «последовательное создание» (‘sequential create’) и «случайное&lt;br /&gt;
создание» (‘random create’). С другой стороны, для потокового медиасервера, который в основном читает большие файлы большими порциями, более всего важен параметр «последовательное чтение блоками» (‘sequential input/block’).&lt;br /&gt;
&lt;br /&gt;
Результаты выводятся в стандартный вывод. Они состоят из общей статистики в текстовом формате, за которой следует одна строка данных, разделенных запятой (CSV-формат), которые можно импортировать в электронную таблицу для сравнения данных двух тестов. Также есть простой фильтр '''bon_csv2html''', который преобразует результаты '''CSV''' в '''HTML'''. В таблице ниже показан результат объединения результатов двух отдельных тестов и передачи тех двух строк в '''bon_csv2html'''.&lt;br /&gt;
&lt;br /&gt;
[[Изображение: LXF111_55_1.png]]&lt;br /&gt;
&lt;br /&gt;
Вывод ''Bonnie++'' в формате HTML. Результаты, помеченные ‘'''++++'''’, получены для операций, выполнявшихся так быстро, что ''Bonnie'' не смогла вычислить осмысленный результат.&lt;br /&gt;
&lt;br /&gt;
===Не забудьте Тима Тоди===&lt;br /&gt;
&lt;br /&gt;
В соответствии со старым девизом ''Perl'' '''TIMTOWTDI''' (There Is More Than One Way To Do It – есть не один способ сделать это), имеются&lt;br /&gt;
и другие средства для снятия характеристик файловых систем. Например, ''Postmark'' – утилита, которая имитирует загрузку файловой&lt;br /&gt;
системы, создаваемую файловым сервером. Изначально она была в ''NetApps'', а сейчас, похоже, не разрабатывается, хотя и есть в&lt;br /&gt;
репозиториях некоторых дистрибутивов. Еще одна утилита – ''Dbench'' от разработчика ''Samba'' Эндрю Триджелла [Andrew Tridgell], см. http://samba.org/ftp/tridge/dbench/README.&lt;br /&gt;
&lt;br /&gt;
===Совет дня===&lt;br /&gt;
&lt;br /&gt;
Пользуясь какой-нибудь графической утилитой настройки, вы наверняка задумывались: какие же файлы на самом деле изменяются? Вот&lt;br /&gt;
маленький трюк, который поможет это выяснить. Для начала откройте командную строку и введите:&lt;br /&gt;
&lt;br /&gt;
 $ touch /tmp/now&lt;br /&gt;
&lt;br /&gt;
Теперь запустите графическую утилиту и сделайте все необходимое. Затем вернитесь в командную строку и наберите:&lt;br /&gt;
&lt;br /&gt;
 find /etc -newer /tmp/now&lt;br /&gt;
&lt;br /&gt;
Эта команда покажет, какие файлы в каталоге '''/etc''' были изменены с момента запуска команды ''touch''. Но расширить поиск на всю файловую систему не так просто, потому что будут найдены несколько сотен записей из каталогов '''/proc''' и '''/sys''', которые нам не нужны. Попробуйте&lt;br /&gt;
такую команду:&lt;br /&gt;
&lt;br /&gt;
 # find / -newer /tmp/now | grep -v ‘^/proc’ | grep -v ‘^/sys’&lt;br /&gt;
&lt;br /&gt;
Даже после фильтрации командой ''grep'', наверное, останется несколько файлов, измененных другими процессами, но сообразить,&lt;br /&gt;
что это такое, обычно достаточно просто.&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>