本文由极御云安全xSec团队撰写未經授权禁止转载!
在过去的数十年来,从系统内核层面以及软件层面的努力优化C10K的问题已经得到非常良好的解决,但是在网络流量爆炸式增长的现在C10K已经远远无法满足现有的硬件能力。
就拿我们极御云安全在的抗D云WAF硬件平台来说:
主要测试CPS(Connections per second)和RPS(Requests per second)
测试之前先讲一下CPS和RPS的区别:
CPS主要是短链接场景也就是每次传输完就关闭连接,下一次在新建连接
RPS主要是长链接场景,建立连接后传输数据完毕后不关闭连接丅一次请求继续复用之前建立的连接。
通常HTTP和HTTPS的CC攻击都是短链接,攻击者通常不会用长链接方式因为短链接的CC攻击比长链接的CC攻击危害高5倍到10倍以上!
环境:CentOS 7.5 64Bit 内核:Kernel 4.18.8 软件:Tengine-2.2.2 (Reuseport开启) WAF:StopDDoS xWAF/1.1 备注:xWAF/1.1是极御云安全自研的WAF系统。 从上图的测试结果中可以看到短链接的性能非常差,短鏈接性能不会随着CPU核心数量的增长出现线性增长16核和32核的短链接性能几 乎一致,根本无法发挥出4路Platinum 8180处理器强大的性能! 这样的性能在遭受大规模CC攻击的情况下系统自身都是瓶颈谈何为用户提供稳定可靠的DDoS防御服务? 而目前市面上98%以上的WAF产品都是上述架构性能极低,面對突发性的CC攻击这类基于内核协议栈的WAF产品会直接出现访问缓慢、大 部分访客无法访问,甚至直接瘫痪!
额外话题:为什么CPU核心数量增加没有导致Linux内核的网络性能提升呢?
答案就是:Linux内核的spinlock的可伸缩性和性能极差CPU核心数量越多,spinlock就越频繁并且CPU核心数量越多,spinlock的数量也越哆最后增加CPU核心数量带来的性能用于抵消spinlock带来的性能开销,所以最后等于没有增加CPU核心
这里总结一下Linux Kernel的性能较低的原因:
除了上面5点,还有很多原因下一章我们也将更加细致的分析我们是如何让极御云安全的抗D云WAF系统拥有如此强大的性能。