HAProxy 的 Tq 值较高

HAProxy 的 Tq 值较高

我刚刚接管了一个新环境的管理。一个已知问题是该环境以高响应时间(20 秒以上)而闻名,因此我认为我应该打开 haproxy 日志记录并查看发生了什么。我认为我会看到应用服务器中的加载时间很慢,但实际上我看到 HAProxy 中的 Tq 值很高。HAProxy 位于 EC2 上,并不位于 ELB 后面。

Sep  5 14:22:00 haproxy-apps01 haproxy[24695]: 76.14.153.221:3371 [05/Sep/2012:14:21:49.780] http-in default_apps/fe04-c 10936/0/0/55/10991 200 488 - - ---- 111/111/0/1/0 0/0 "GET /event_times/next?callback=jQuery170189312373075111_1346854917562&_=1346854918453 HTTP/1.1"

如您所见,这个的 Tq 约为 10 秒。并非所有的 Tq 都很高(1+ 秒),但其中很大一部分是这样的(约 35%)。通常,当我看到这种行为时,我会认为存在网络问题,但有如此高比例的访问者遇到这样的问题,所以我想知道是否有人见过这种情况或有任何提示可以诊断问题是否可能出在这个盒子上?

答案1

高 Tq 时间并不总是表明存在问题,是http-server-close吗?

根据文档:

设置“option http-server-close”可能会显示更大的请求时间,因为“Tq”还测量等待其他请求所花费的时间。

例如,这是为 Stack Overflow 设置的,作为一些示例数据,查询如下:

Select Top 20 Tq from LogsLastTwoDays WITH (NoLOCK) WHERE
CreationDate > DATEADD(minute, -5, GETUTCDATE()) AND 
ResponseCode = 200 AND Host = 'stackoverflow.com'
ORDER by Tq DESC

产量:

Tq    
----- 
14990 
14987 
14986 
14983 
14974 
14972 
14972 
14965 
14964 
14964 
14962 
14961 
14960 
14955 
14952 
14951 
14945 
14943 
14935 
14932 

这是因为,在我们的环境中http-server-close,连接对客户端保持开放(持久连接),最长可达。timeout http-keep-alive 15s

我通常关注Tr第一个,因为它显示了 LB 和服务器之间的响应时间。

答案2

将您的配置粘贴到某处可能会有帮助。

这可能与超时配置和 HTTP 模式有关。正如 Kyle 提到的,我首先会投票支持 http-server-close 选项。由于您尚未启用它,因此您可能会受到类似 slow-loris 的攻击。

您能否将“超时 http 请求”参数设置为 5 秒,然后查看是否仍然有这些行或者它们是否被 408 响应替换?

干杯

相关内容