Matvey-Kuk
@Matvey-Kuk
Разработчик в Cisco, CA.

Contitnious Integration: как осуществить нагрузочное тестирование C++ демона?

Вечер добрый!

Участвую в разработке демона на c++ под Ubuntu Server 12.04, которому в условиях эксплуатации предстоит выдерживать большие нагрузки. В связи с этим хотелось бы еще в самом начале разработки зарядить CI (Jenkins) на компилирование->нагрузочное тестирование каждого коммита, чтобы была возможность изучать по графику сколько демон кушал памяти во время теста, сколько раз обращался в диску... Благо достаточно большой набор тестовых данных для проверки уже присутствует на руках =)

На данном этапе я получаю скомпилированный бинарный файл, который могу запустить.

1) Как запустить его и измерить потребляемые ресурсы(максимальную съеденную оперативную память, время работы, нагрузка на жесткий диск, *какая-то-метрика-использования-cpu*) ?
2) Как в Jenkins построить по этим данным график "изменение показателя от коммита к коммиту"?

Также буду рад слышать замечания и критику по затее в принципе.
Спасибо!
  • Вопрос задан
  • 3080 просмотров
Решения вопроса 1
@leclecovich
Затея однозначно неплохая, имеет место быть. По поводу сбора метрик - копните в сторону collectd. Эта утилита предоставляет как сервер, на котором будут агрегироваться метрики, так и клиент (демон), который их будет отсылать. Имхо, гораздо удобнее, чем пользоваться "большими" аналогами вроде Zenoss или Zabbix.
Что касается хранения метрик, то здесь best practises - это использование RRD. С помощью rrdtool можно либо построить графики и на выхлопе будет растровое изображение, либо сделать экспорт в xml, который можно скормить Jenkins, для этого есть плагин.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы