У нас есть Linux-кластер с рабочими узлами, использующими общую удаленную файловую систему. Мы хотим оптимизировать ввод-вывод, особенно когда работники читают с удаленного фс.

Отправной точкой является измерение производительности ввода-вывода. Кластер используется многими пользователями, и их работы интенсивно читаются.

Я хотел бы отслеживать производительность много раз в течение дня, чтобы увидеть, как они меняются (ночь / день / рабочие дни / до и после обновления оборудования, ...).

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

У вас есть опыт проведения такого рода тестов? Знаете ли вы какие-нибудь бесплатные инструменты, библиотеки, легко взаимодействующие с другими утилитами (визуализация, ...)

На данный момент самое умное, что я могу сделать, это использовать dd

1 ответ1

0

В прошлом я использовал iozone для тестирования дисков. У него много опций для точной настройки того, как будет выглядеть ваша рабочая нагрузка. Чтобы быть более конкретным, нужно точно знать, какую нагрузку вы будете иметь. Я предлагаю взглянуть на справочную страницу iozone.

В сети примерно такая же проблема. Различные виды рабочих нагрузок требуют разных испытаний. В зависимости от протокола вам, возможно, придется использовать радикально разные подходы. Если вы просто хотите протестировать производительность исходной сети, вы можете использовать hping для наполнения вашей сети пакетами.

Если вы, например, захотите протестировать HTTP-сервер, вы можете использовать siege или jMeter для этого.

Если, с другой стороны, вы хотите контролировать сервер во время работы, вам нужно будет использовать какой-то вид измерения. Наиболее популярными инструментами измерения Linux, вероятно, являются munin, Cacti и collectd, но существует множество инструментов. Большинство из них используют плагины, которые легко пишутся в сценарии оболочки или на вашем любимом языке программирования, но они также содержат ряд плагинов для мониторинга рабочей нагрузки ввода-вывода и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .