Назад | Перейти на главную страницу

Анализ задержки для одного запроса

У меня следующая (очень упрощенная) сеть:

(ingress) -> DMZ (nginx) -> HA Proxy -> Reverse proxy (nginx) -> Application Server (tomcat)

Все слои отправляют информацию в Prometheus а затем мы используем Grafana следить за ними.

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

Вопрос: Выбрав случайный запрос (из DMZ), есть ли способ проследить его через слои, через которые он прошел, и определить время, необходимое для каждого уровня? Что-то вроде :

(Request) -> 
DMZ (nginx) -> 2ms
HA Proxy -> 1 ms
Reverse proxy (nginx) -> 1ms
Application Server (tomcat) 15ms
Reverse proxy (nginx) -> 1ms
HA Proxy -> 1 ms
DMZ (nginx) -> 2ms
(Response)