Моя архитектура веб-приложения: Apache 2 (в качестве балансировщика нагрузки) + JBoss 3.2.3 + MySQL 5.0.19.
Я хочу: измерить время обработки запроса (для каждого отдельного запроса), затраченное только на сервер JBoss (т. Е. Исключая время, затрачиваемое на веб-серверы и серверы баз данных).
Я изучал, как регистрировать время обработки запросов только на уровне приложения. Я нашел * mod_JK logging *, * Apache mod_log_config * и Tomcat AccessLogValve как два возможных метода.
Использование * ведения журнала mod_JK *: в моем понимании ведение журнала mod_jk предоставляет время обработки запроса для каждого запроса и рассчитывает разницу между временем, когда запрос покидает сервер Apache, и временем, когда соответствующий ответ принимается сервером Apache. Пожалуйста, поправьте меня, если это не верно / правильно.
Использование модели mod_log_config Apache (http://www.lifeenv.gov.sk/tomcat-docs/jk/config/apache.html): путем добавления «% {JK_REQUEST_DURATION} n» в конструкции LogFormat (конструкция JKLogFile) (см. Ссылку выше). «JK_REQUEST_DURATION» фиксирует общее время обработки Tomcat из Apache в перспективе.
Время (в вышеупомянутых случаях) включает время обработки Tomcat / JBoss + MySQL. В моем случае это не поможет, поскольку включает время обработки MySQL - я хочу записывать время обработки запросов только на JBoss. Любые предложения / идеи приветствуются?
Использование AccessLogValve : он может регистрировать «время, затраченное на обработку запроса, в миллисах», установив% D в атрибуте шаблона XML-конструкции AccessLogValve. Не очень понятно, если это
- Время, если это время, необходимое tomcat / JBoss для обслуживания
запрос (например, выделить рабочий поток для его обработки)
- Время, необходимое для обработки запроса и отправки его на сервер базы данных
(общее время на сервере Tomcat / JBoss)
- Время, необходимое для обработки запроса Tomcat / JBoss и отправки ответа
вернуться к веб-серверу / клиенту
Есть идеи / подсказки?
Это мой опыт / исследование, которым я хочу поделиться. Было бы полезно, если бы у кого-то была похожая проблема / знать способ сделать это, чтобы поделиться своим опытом / указателями / мыслями, где можно найти лучшее решение.
с нетерпением жду ваших мыслей / предложений