AWS Load Balancer运行状况检查行为

时间:2016-02-26 13:28:40

标签: python amazon-web-services amazon-ec2 amazon-elb health-monitoring

我一直致力于运行一些Python代码以接受TCP连接的EC2实例的可靠性。

设置: 该脚本设置为接受许多连接并进行一些处理并发回结果。来自ELB的Ping被成功识别并且机器变得健康。

问题: 如果我在使用无限循环处理期间模拟死锁,则接受ping但Python服务器永远不会关闭客户端;它仍然在循环中。奇怪的是,虽然机器不能再接受任何连接,但实例被标记为健康。我希望机器不健康,因为它不能接受更多的ping。

我想知道实例是否已接受ping并且连接仍处于打开状态这一事实意味着“健康”机器?或者,如果这里发生了其他可怕的事情?并希望如何解决它!

提前致谢。

1 个答案:

答案 0 :(得分:1)

不,如果服务器将HTTP 200返回给请求,它应该只保持健康。它还将使用HTTP 1.1,保留与服务器的开放连接,而不是删除并重新创建它。剩余正常表示ELB正在从您的服务器继续对ping尝试做出200次响应。

你确定python脚本参与响应ping吗?什么是ping请求?我建议运行状况检查测试一个URL,您的应用程序会以与生产请求类似的方式主动处理该URL。

此处的文档疑难解答:

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html