Графитовый сервер Время ожидания высокого ввода-вывода
Наш сервер Graphite сталкивается с узкими местами процессора и диска. Основная проблема заключается в том, что время ожидания%IO всегда находится в диапазоне 40%. Мы запускаем его на 2-ядерном процессоре на сервере RHEL с 7,5 ГБ ОЗУ. (Согласен, конфигурация нашего ЦП примитивна, но мы хотели бы понять, почему перед обновлением происходит следующее.)
Наш сервер Graphite обрабатывает более 160 000 точек данных в минуту. Но статистика дискового ввода-вывода показывает, что 40% времени уходит на ожидание ввода-вывода. Наш диск CISS может записывать 160 МБ в секунду, но Graphite может использовать только 2 МБ в секунду.
Кто-нибудь сталкивался с этой проблемой? Каковы были ваши выводы? Есть ли у вас предложения по вышеуказанным вопросам?
Большое спасибо!
1 ответ
Я немного опоздал на вечеринку, наверное. Я читал, что вращающийся диск может производить около 75-100 операций ввода-вывода в секунду (имеет смысл: 7200 об / мин = 120 оборотов в секунду, типичная задержка 9 мс...). Так что в этом случае значение по умолчанию 500 для MAX_UPDATES_PER_SECOND не имеет смысла для меня.
Я попытался запустить bonnie++, чтобы проверить производительность моего диска, и он достиг 50 случайных запросов в секунду (не в однопользовательском режиме).
Я смотрел на подобные проблемы с производительностью и уменьшил значение MAX_UPDATES_PER_SECOND до 10. В нашем случае с около 2000 метриками это означает, что каждые 200 с каждая метрика записывается на диск, что нам подходит.