我的配置是aws肘后的apache和tomcat。 Apache没有配置为保持活动状态,并且由于每个查询都占用大量CPU,因此将最大客户端数设置为较低。我将使用查询对计算机进行负载测试。然后,可用的请求数变为零,如curl -s localhost/server-status?auto
没有立即响应所看到的。当我停止负载测试时,即使从tomcat日志中可以清楚地看到没有任何反应,我仍然可以看到curl -s localhost/server-status?auto
的记分板充满了R。有谁知道可能的原因是什么?
答案 0 :(得分:0)
如果您的apache在状态中显示“ R”,则表示存在从ELB到apache的开放TCP连接(只是开放的TCP连接,尚无数据发送)。
没有关于此主题的官方完整文档(如何优化预打开的连接数),但是亚马逊文档状态(在此页面:https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html)表明:
经典负载均衡器使用预打开连接,但应用程序负载均衡器不使用。
因此,答案是:这是亚马逊的一种优化(TCP连接的成本有待提高)。