, поскольку мы страдаем от ползучей деградации в нашем веб-приложении, мы решили отслеживать производительность нашего приложения и оценивать отдельные действия.
например, мы будем измерять продолжительность каждого запроса, продолжительность отдельных действий, таких как редактирование клиента или создание встречи, поиск контракта.
в большинстве случаев база данных является узким местом для этих действий.
Я ожидаю, что кульминационные данные будут довольно большими, так как мы будем собирать 1-5 отдельных действий на запрос.
Конечно, было бы бессмысленно вставлять каждый элемент «каждый элемент» в базу данных, поскольку это еще больше замедляло бы каждый запрос.
Какова хорошая стратегия для хранения и оценки этих данных по запросу.
я думал о наличии глобального объекта очереди, который добавляется, и отдельного потока, который очищает очередь и обрабатывает постоянное хранилище / файл. а где хранить такие данные? есть ли готовые инструменты для такой визуализации?
мы используем Java, Spring, Hibernate + JDBC + PL / SQL, Oracle.
вопрос должен быть не зависящим от языка.
edit: измерение будет производиться в течение длительного периода времени.