Amazon ELB如何将请求分发到不同实例类型的Amazon EC2实例?

时间:2013-04-03 13:48:08

标签: amazon-ec2 amazon-elb

如果我注册了多个不同大小的ELB个实例,任何人都知道EC2将如何分发请求。假设一个m1.medium,一个m1.large和一个m1.xlarge

如果我注册相同大小的EC2个实例会有所不同吗?如果是,那怎么样?

2 个答案:

答案 0 :(得分:6)

这是一个相当复杂的话题,主要是由于Amazon ELB路由文档不存在,所以需要汇总一些内容来得出结论 - 请参阅我对相关问题的回答{{3}详细分析包括我所知道的所有参考文献。

对于手头的问题,我认为可归结为AWS团队从2009年到Can Elastic Load Balancers correctly distribute traffic to different size instances的回应有点模糊:

  

ELB松散地跟踪多少请求(或连接中的请求)   TCP的情况在每个实例都很突出。它没有监控   每个实例的资源使用(例如CPU或内存)。 ELB   目前将在其认为的那些实例中进行循环   有最少的要求。 [强调我的]

根据您的应用程序架构和请求的多样性,较大的ELB Strategy可能能够更快地为请求提供服务,从而减少了未完成的请求并相应地获得了更多流量,但无论哪种方式,ELB 都应该平均分配流量,即应该在一定程度上隐含地考虑不均匀的实例特征 - 我自己并没有尝试过这个,并且会推荐两者,Amazon EC2 instance types以及监控你的个人EC2实例并将结果关联起来为了最终获得对这种设置的洞察力和信心。

答案 1 :(得分:1)

您好我同意Steffen Opel,我最近遇到了AWS的解决方案架构师之一,他在Elastic Load平衡方面提出了几个问题,以通过ELB实现更好的性能。

1)确保在所有可用区域上运行的实例数相同。例如,在东南方向的情况下,我们必须使用可用区1a和1b,因此请确保从两个区域连接到ELB的实例数相同。

2)确保您的应用程序是无状态的,即云强制执行并建议开发人员。

3)不要使用粘性会话。

5)将TTL(生存时间)降低到最大可能水平,如10秒或其他。

6)不健康的检查TTL应该是最小的,这样ELB就不会保留不健康的实例。

7)如果你的ELB流量很大,请确保你对ELB本身进行负载测试,它的扩展速度不如你的ec2实例那么快。

8)如果你正在缓存,那么想想你要从中选择要缓存的数据的数千次。

以上所有提示只是为了帮助您改善这一点。你拥有相同大小的实例会更好。