Сборка fio под Windows x64
Одним из самых перспективных средств тестирования дискового перформанса на сегодняшний день является утилита fio.
??сторически я пользовался много лет для этого популярным IOmeter, и даже писал несколько подробных постов о нем, неизменно приводящих в этот блог читателей с поисковиков.
Однако IOmeter достаточно давно затормозился в развитии, и на сегодняшний день имеет stable в версии аж 2006(!) года, а собираемый community имеет версию 1.1RC1 и обновлялся аж летом 2011 года, что никак нельзя назвать приемлемым. К тому же отдельные версии (Linux x64, например) имеют крайне досадные баги, сводящие на нет его применимость под эти платформы.
Поэтому все больше людей для тестирования производительности ищут более современные инструменты. По этой причине несколько месяцев назад мне попался на глаза очень активно развивающийся проект такой утилиты измерения производительности - fio (flexible input-output tester).
О тестировании дисковой подсистемы с помощью fio можно почитать например вот в этой статье.
К сожалению до недавних пор fio существовал только под Linux, поэтому было очень любопытно обнаружить в блоге нетапповского инженера Neto статью о сборке fio под Windows x64.
Нет смысла перепощивать ее сюда, там коротенько и совершенно понятно как и что делать, даже без перевода, так что просто сошлюсь на нее здесь.
Есть готовые сборки от хорошего человека:
http://www.bluestop.org/fio/
а нечто типа рекомендованных профилей тестирования, как для iometer’a было, не порекомендуете?
Ну, во-первых, можно взять за основу собственно профили IOmeter, и используя их характеристики, написать аналогичные для fio.
А во-вторых рекомендую ссылку на статью на Хабре, приведенную выше, там хорошо разбираются принципы того, что необходимо измерять.
кстати заметил, что 64 битная версия не обращает внимания на выставляемое время тестирования… проверял на двух последних версиях
Я тестирую свой рейд IOMETERом, скорость записи при of Outstanding I/Os=128
3200МБ/с, но в пользовательской программе, что только не перепробовал, не получается такой скорости.
Как реализовать этот параметр в пользовательской программе, чтобы скорость запись цифрового потока была бы около 3000МБ/с?
С помощью каких операторов?)))
Помогите, пожалуйста.
Алексей:
Вообще-то тут не про IOmeter. :)
Но отвечу. Возможно ваща программа не умеет обращаться к диску больше чем одним или несколькими тредами, такое бывает. Обычно, в таком случае, максимальную производительность с дисковой подсистемы не снять. Она будет, главным образом, простаивать в ожидании когда отданный блок прожует и порпосит новый прикладная программа. ??зменить это поведение без переписывания логики работы программы обычно невозможно.