Как автоматизировать тесты производительности и интегрировать с CI?

Я думаю об автоматизации тестов производительности, аналогично тому, что мы сейчас имеем с модульными тестами.

Я знаю, как запускать тесты производительности с помощью таких инструментов, как jMeter, или путем написания собственного кода для запуска определенных частей приложения. Я знаю, как использовать time, jvisualvm, nmon или другие инструменты для сбора информации об используемых ресурсах.

Я хотел бы пойти дальше и написать тест производительности, который будет проваливаться, если он пересечет определенные границы (время выполнения, потребляемая память или CPU...). Затем я бы попросил свой CI-сервер (Jenkins) регулярно запускать тесты, чтобы убедиться, что производительность остается хорошей.

Это сложно, потому что производительность зависит от аппаратного обеспечения, и в текущем способе, которым я это делаю, требуется человеческая интерпретация результатов, чтобы решить, удовлетворяет это или нет.

Знаете ли вы какие-нибудь инструменты или фреймворки (по возможности на базе Java), которые помогают автоматизировать тесты производительности таким образом? Если нет, можете ли вы посоветовать какую-нибудь хорошую практику?

Спасибо.

9
задан Antoine Roux 26 October 2011 в 01:35
поделиться