haproxy,无法监控http总请求时间吗?

haproxy,无法监控http总请求时间吗?

使用带有 http-server-close 和 keep-alives 的 haproxy HTTP 日志,日志中的时间计数器 (TR、Tt...) 基于 TCP 连接的开始。这意味着只有第一个请求,带有 cookie 状态 *NI (--NI) 具有与 HTTP 请求所用时间相对应的计时器。

接下来的将从 TCP 连接开始(空闲时间 + 前面的请求时间)。

有没有办法在不关闭 keepalive 或 http-server-close 的情况下绕过这种 haproxy 行为,或者我是否被迫更改此配置,或者在 haproxy 前面添加代理..?


最后有没有办法获取 HTTP 请求的总响应时间,而不是自 TCP 开始以来的时间?

答案1

time curl -v http://www.google.com http://www.google.com 

这将使用保持活动,并且不会为任何请求打开新的 TCP 连接(只要您的 Web 服务器支持保持活动)。

或许这会给你一个开始。

Curl 在跟踪连接时间方面也有相当不错的选项。

https://stackoverflow.com/questions/18215389/how-do-i-measure-request-and-response-times-at-once-using-curl

所以这可能会给你你想要的东西。

祝你好运!

答案2

在细化了您的意思之后,我相信您想确切地了解 ha-proxy 实际上在做什么,而不是使用 curl 和 ab(apache bench)从客户端生成基准测试。

Ha 代理带有统计页面,可以为您提供大量参数。这可能正是您所需要的。

https://www.haproxy.com/blog/exploring-the-haproxy-stats-page/

您可以检索 haproxy 生成的统计数据。您应该对以下内容感兴趣

Response time   

The server response time in milliseconds, averaged over the last 1024 successful connections.

祝你好运!

相关内容