2010-03-01 2 views
5

Наша организация ищет инструмент, который поможет в тестировании производительности на каждом выпуске. Мы поставляем целую кучу нового программного обеспечения, и мы хотим, чтобы производительность по ключевым функциям не замедлилась со времени выпуска последней версии. У нас есть код на C# и Java. Это может быть что угодно от:Каков наилучший инструмент для тестирования регрессии производительности?

  1. когда я запустить эту функцию она занимает < 2 секунды
  2. , когда я запускаю этот набор функций общей < 5 секунд
  3. и т.д.. ,

Лучше всего это сделать, используя нашу базовую единую тестовую непрерывную интеграцию (nunit, junit, team city) с ручными проверками производительности или есть специальные инструменты, которые могут помочь сосредоточиться на этой области.

Любые предложения?

+0

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

ответ

3

В моих проектах (которые, как правило, используются Spring), я использую AOP и PerformanceMonitorInterceptor.

Хотя вы не можете использовать Spring, это определенно хороший код для просмотра и может основывать вашу собственную версию. Я нашел AOP идеальным для этой ситуации, потому что он не загромождает фактические вызовы функций. Если у вас есть многоуровневое приложение, вы можете разместить эти мониторы производительности на каждом уровне. (Как правило, для моего WebApps, я положил его в моем уровне доступа к данным, так что я могу отслеживать производительность запросов к базе данных.)

0

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

0

Я занимаюсь инструментом «Башер», который позволяет вам записывать «задачи», которые подбираются системой, и затем запускаться в течение настраиваемого времени (чтобы, например, JVM мог разогреться) а затем выполняет прогон, время выполнения задания записи, средние значения и тому подобное.

версия 1.0 было тихо вокруг некоторое время, и если вы заботитесь, чтобы посмотреть, он доступен на http://basher.sourceforge.net

Ствол версия содержит некоторые улучшения - есть Maven интеграции с конфигурациями уточняются в pom.xml, голые кости структуры отчетности и т. д.

Смежные вопросы