Open moooofly opened 5 years ago
We appreciate the feedback resulting from your performance tests. We want to provide some information about the Elastic Load Balancing service that should help guide testing and benchmarking efforts:
In general, I'd suggest that you collect historical data or estimate a traffic profile and how it progresses over a typical (or perhaps extreme, but still real-world) day for your scenario. Then, add enough headroom to the numbers to make you feel comfortable and confident that, if ELB can handle the test gracefully, it can handle your actual workload.
The elements of your traffic profile that you may want to consider in your test strategy may include, for example:
ELB attempts to stay ahead of an increasing load, so connection attempts should continue to succeed.
You don't need to generate test traffic from an enormous number of clients. But don't generate all your test traffic from one or just a few clients. A dozen clients per configured availability zone should more than do the trick. Just divide your desired load amongst them and make sure each refreshes their DNS resolution results every few minutes.
Having a spread of source IP addresses is not necessary - the main point is that the full set of IP addresses provided by DNS are utilized.
The ELB system strives to scale ahead of demand but wild spikes in traffic demand (such as 0 load to full load swings during initial load testing) can temporarily run past it's provisioned capacity which will result in 503 Service Unavailable until the system can get ahead of demand. Under extreme overload, timeouts can occur. Customer traffic flows are typically gradual swings that occur at rates measured in minutes or hours, not fractions of a second.
Q: Does the ELB's IP Ever Change once setup, or will it always access instances from the same location during its lifetime no matter what might be going on with it behind the scenes at Amazon?
A: The short answer: Yes, ELB's IP addresses (both the ones that are publicly distributed to clients of your service, and the internal IPs from which ELB sends traffic to your instances) dynamically change. A: The long answer: See my article about how ELB works for more info: http://shlomoswidler.com/2009/07/elastic-in-elastic-load-balancing-elb.html
之前通过命令,每 15min 抓取了一次
dig
ELB 的输出,从输出上看,ip 列表一直在发生着变化经过和 aws 技术支持的沟通,了解到通过上述
dig
命令是无法获取到完整 ip 列表的,需要使用如下命令进行 ip 列表获取:其中
dig
前者获取到的内容会更准确;经过改良,可以使用如下命令实现:每一分钟测试一次 elb 全部 ip 地址的连通性
每 15 分钟 dig 一次获取 elb ip 地址列表(前 8 个)
客户端 app 从 DNSPod HTTPdns 上获取 ip 列表的命令
这个是基于免费接口的调用,真正使用的企业版接口,略微有点差异
AWS 的反馈