专栏首页黄希彤的专栏内部体验腾讯负载均衡的新功能
原创

内部体验腾讯负载均衡的新功能

有个朋友的web服务,因为在线用户数目平常波动很大,按照最大在线数部署服务器显然太浪费,所以选择了腾讯云的弹性伸缩(AutoScaling)服务,在每天用户集中上线的时间点上快速扩容服务器加入到集群中分散压力。因此在集群遭遇到突发的访问压力的时候,快速的自动扩容能力就显得非常重要了。前阵子还专门为此请教了腾讯云专家,解析了快速生成主机的不传之秘

但是快速生成了主机并加入集群,并不能确保主机快速的分担压力,因为腾讯云的负载均衡目前只支持IP hash 和按权重轮询两种方式,这两种分配算法在新服务器加入后都需要经过一段短时间的预热才能逐步分配到流量。因此扩容后的曲线常常会是这样子的(刚刚进行的扩容实测,为了降低对业务影响测试了5分钟就停掉了):

注意红色曲线和横轴重合的部分:

(第一分钟0Mbps)

(第二分钟0Mbps)

(第三分钟0Mbps)

也就是说,虽然生成一台服务器我们可以优化到数十秒,但是新服务器加入集群后的前面几分钟几乎没有请求分发到新服务器上,随后才步入正轨。这样显然延长了压力缓解过程,让更多用户忍受了几分钟的恶劣体验。

那有没有办法缩短这个过程呢?腾讯云近期将推出的新的负载均衡轮询算法就可以解决这个问题。新算法被称为“最小连接数”算法,也就是LB会随时判断哪台主机上的HTTP连接数最少,然后尽量把新的请求分发给它。经过一番软磨硬泡,终于从负载均衡团队磨到了新LB算法的内测体验资格,立刻做了一个扩容实验。我们来看看效果:

可以看到,最开始和横轴重合的一段消失了,新服务器在接入的第一时间立刻分摊到了访问量并输出流量,集群中过载的服务器压力也就立刻得到了缓解。

不只是扩容过程会从新算法中收益,实际上在以往的算法中,集群中的服务器都难以即时分担彼此的压力,当某一台或者几台服务器压力过大的时候,LB只会继续按照权重随机的分配新的请求给它,而不是降低它的权重,让它缓一缓。而在新算法中,如果一台服务器负担压力过重导致请求无法及时响应完成,LB就会观察到它的连接数增加,并把更多的请求分配给连接数更少的服务器,从而达到更优的负载均衡效果。

当然,要充分获得这些优势都要取决于接入服务器已经实现了『无状态化』这个前提,否则负载均衡也无法随意的把一台服务器的压力转移到另一台上面。

相关推荐

【腾讯TMQ】和开发一起写代码,让测试左移起来

手游兼容性测试MGCT

【App专项测试】—冲突测试

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 部署在腾讯云的公益网站遭受了一次 CC 攻击

    攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC ( ChallengeCollapsar )。本文记录了面对黑客攻击的排查以及解决...

    黄希彤
  • Nginx 反向代理腾讯云 COS 的一个坑

    腾讯云COS的后台服务假设客户端都支持http1.1协议,对http1.0协议没有做很好的兼容,而腾讯云CVM提供的带Nginx的系统镜像里面的Nginx版本又...

    黄希彤
  • 我是怎么让全国最大的儿童失踪预警平台流量掉底的

    去年底CCSER(儿童失踪预警平台)终于完成了大量前期工作,准备开始发力面向全国用户做推广,作为互联网老兵,我们深知要做一个面向海量用户的大平台需要面临巨大的技...

    黄希彤
  • 如何打造一个高并发,处理海量数据,高性能,易扩展,可伸缩,高可用的网站?

    简而言之,采用分布式系统,分布式应用和服务,分布式数据和存储,分布式静态资源,分布式计算,分布式配置和分布式锁。

    lyb-geek
  • LVS负载均衡的调度算法

    LVS是如何决定把用户请求转给哪台服务器的?LVS有很多种调度算法,下面介绍几个最常用的算法 (1)轮询 这是最简单的调度算法,调度器将收到的请求循环分配到服务...

    dys
  • GS-M.ORG游戏服务器状态查询网站开源

    大概一年前和朋友弄了GS-M.ORG,一个游戏服务器状态查询网站,后来由于嫌维护麻烦就没继续做下去了,刚好朋友提起,想到备份后就一直没动过,放着也没用,今天就把...

    TLingC
  • 中小型企业网站选购腾讯云服务器配置推荐解决方案

    信息社会的飞速发展,任何企业都脱离不了互联网,越来越多的企业都通过互联网实施无纸化的办公,互联网推广一体化整体型推广、互联网+电子商务。但是实现这些的最最基础的...

    tengxunyun8点com活动整理
  • 速读原著-TCP/IP(RARP服务器的设计)

    虽然R A R P在概念上很简单,但是一个 R A R P服务器的设计与系统相关而且比较复杂。相反,提供一个 A R P服务器很简单,通常是 T C P / I...

    cwl_java
  • HTTP权威指南学习心得

    2.利用DNS(domain name service)对主机名进行转换,得到IP地址

    嘿嘿嘿
  • Exchange 用户发送邮件提示:您无权执行此操作,解决办法

    背景: Exchange服务器为:Exchange 2013,AD服务器:Windows Server 2012 R2,DNS服务器和AD是同一台服务器。 ...

    BigYoung小站

扫码关注云+社区

领取腾讯云代金券