鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

使用wrk工具测试Nginx+KAE性能未得到提升

问题现象描述

软硬件条件相同,采用httpress工具对Nginx进行HTTPS短连接性能测试,开启KAE加速功能后,性能显著提升。但采wrk工具Nginx进行HTTPS短连接性能测试,开启KAE加速功能后,性能没有得到提升

关键过程、根本原因分析

原因分析:wrk工具采用了TLS重连整个压测过程中只有一次密钥的交换操作,RSA的占比太低,导致没有提速效果。

过程分析:结合wrk源码(如图1所示)进行分析,首先客户端握手阶段发送Client Hello子消息,里面的Session ID值是为空的一次完整的握手阶段结束后,客户端和服务器端都保存有该Session ID,在本次会话关闭,下一次再次访问相同的HTTPS网站时,客户端浏览器会在Client Hello子消息中附带该Session ID值,服务器端接收到请求后,将Session ID与自己在Server Cache中保存的Session ID进行匹配,如果匹配成功,那么服务器端就会恢复上一次的TLS连接,使用之前协商过的密钥,不重新进行密钥协商客户端和服务器端各自将Session ID保存在本地中,客户端保存在内存里,服务器端保存在Server Cache中,这样就只用调用一次RSA算法

图1 wrk源码片段

结论、解决方案及效果

KAE对握手阶段的RSA算法进行加速,如果压测工具采用了TLS重连,则看不到加速效果,此时建议使用其他压测工具,如httpress工具。