хранение + оценка данных о производительности

поскольку мы страдаем от постепенной деградации нашего веб-приложения, мы решили отслеживать производительность нашего приложения и измерять отдельные действия.

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

я ожидаю, что итоговые данные будут довольно большими, так как мы будем собирать 1-5 отдельных действий на запрос.

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

какова хорошая стратегия для хранения и оценки этих данных для каждого запроса. я думал о том, чтобы иметь глобальный объект Queue, который добавляется, и отдельный поток, который очищает очередь и обрабатывает постоянное хранилище/файл. а где хранить такие данные? Существуют ли готовые инструменты для такой визуализации?

мы используем java, spring, смешанный hibernate+jdbc+pl/sql, oracle.

однако вопрос не должен зависеть от языка.

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


person Andreas Petersson    schedule 02.06.2009    source источник


Ответы (1)


Похоже, ваша стратегия архивирования будет хотя бы частично зависеть от объема ваших тестов:

  • Как долго вы собираетесь собирать данные о производительности?
  • Что вы пытаетесь продемонстрировать? Повышение производительности с течением времени? Улучшения, связанные с конкретными изменениями? (например, проблемы с производительностью для определенного набора выпусков)

Что касается инструментов визуализации, я обнаружил, что Excel очень полезен для небольших и средних объемов данных.

person Paul Morie    schedule 02.06.2009
comment
измерение будет проводиться в производстве в течение большого периода времени. - person Andreas Petersson; 03.06.2009