Пришлось на собственном опыте опробовать, насколько Graphite модульный.

При 200k metricsReceived наш Graphite, работающий на довольном старом сервере на обычных дисках, начал помирать. Carbon-cache постоянно был в топе потребления ресурсов, ни о какой отзывчивости в работе сервера речи вообще не шло.

"Хватит это терпеть!" - подумал я, и начал в который раз искать советы по тюнингу carbon для высокой производительности. В очередной раз ничего нового не найдя, я решил попробовать давно приглянувшийся мне проект go-carbon.

Особенно подкупало то, что мне ничего не придется менять - go-carbon поддерживает все те же конфиги для storage-schemas и aggregation-schemas, что и родной carbon-cache.

Так что я остановил carbon-cache и запустил go-carbon.

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

Вот вам график updateOperations, до и после:

updateOperations

При этом go-carbon еще умеет перечитывать конфиги на лету!

В общем, радости моей нет предела, серьезная проблема производительности мониторинга решилась за 5 минут. Даже если вы еще не уперлись в производительность carbon-cache, можно заменить его на go-carbon хотя-бы ради нормального reload конфигов.


Comments

comments powered by Disqus