use*_*220 6 apache amazon-ec2 aws-elb
我的配置是aws elb后面的apache和tomcat.Apache配置为没有keepalive,并且由于每个查询都是非常cpu密集的,因此将max clients设置为较低的数量.我将用查询加载测试机器.然后可用请求的数量变为零,这可以通过curl -s localhost/server-status?auto
不立即响应看出.当我停止加载测试时,我可以看到curl -s localhost/server-status?auto
仍然充满了R的记分板,即使从tomcat日志中也很清楚没有发生任何事情.有没有人知道可能的原因是什么?
如果您的 apache 在状态中显示“R”,则意味着从 ELB 到 apache 存在打开的 TCP 连接(只是一个打开的 TCP 连接,尚未发送数据)。
关于这个主题没有官方完整的文档(如何优化预打开连接的数量),但亚马逊文档说明(在此页面:https ://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/ how-elastic-load-balancing-works.html):
Classic Load Balancer 使用预打开连接,但 Application Load Balancer 不使用。
所以,答案是:这是来自亚马逊的优化(TCP连接的打开成本有点高)。
归档时间: |
|
查看次数: |
62 次 |
最近记录: |