高性能四层负载均衡设备AGW

随着流量激增,传统LVS面临性能瓶颈。阿里技术团队研发的AGW,基于DPDK在应用层实现,绕过内核netfilter,解决中断、上下文切换、锁竞争和路由开销问题。AGW采用用户态网卡驱动、多核多队列、无锁实现、超大页面和NUMA支持,大幅提升性能,测试显示能抵御20Gb synflood攻击,处理近2000w pps小包。
摘要由CSDN通过智能技术生成

        转载请注明出处:http://blog.csdn.net/hliyuxin/article/details/40626769

随着站点访问量的急剧增长,服务器集群的规模成倍增长,同时也要求传统的LVS集群的服务器数量成倍增长。传统LVS的负载均衡功能现已很难满足大型公司集群系统的需求,怎样开发出一个高性能、处理超大规模流量的四层负载均衡网关产品,成为整个集团的一个巨大的技术挑战。

传统的LVS 基于linux内核的NetFilter框架实现,实验测试linux 2.6内核netfilter框架,在没有其它功能损耗的情况下,最高能转发600万的小包,也就是说synflood的天花板值600万,按照一次http访问交互最少10个包,每秒http新建的极限值就是60万。造成LVS性能瓶颈的原因主要有以下几点:

1. 网卡中断:linux系统内核通过软中断的方式来中断工作,处理网络数据包。当网卡接收的流量不断增加,系统会处理中断的时间也会随之增长,中断严重影响了服务性能。

2. 上下文切换:LVS工作在系统内核态,每个线程在CPU上运行很短的一段时间,这种线程调度会触发上下文切换,保存线程上下文信息,以及之后再恢复这些状态信息。这些切换操作会花费系统很多时钟,在专用的负载设备上应该尽量避免这种上下文切换。

3. 大量锁的设计: 在LVS中设计了大量自旋锁和原子变量,如LVS中的session表有ip_vs_conn_tab_lock,当访问某个VIP的包进入LVS,都会触发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值