SSL 层优化实践
在上一篇文章中,笔者阐述了部分 SSL 层软件层面的优化策略,除了软件层面的优化还有一些硬件的优化方式,比如 支持 AES-NI 特性的CPU、或者使用专用 QAT 加速卡 。
英特尔® Quick Assist Technology (以下简称 QAT)是Intel公司推出的一种专用硬件加速技术,可以用来提高Web服务器中计算密集的公钥加密以及数据压缩解压的吞吐率以及降低CPU负载。
测试结果
为了验证 TLS协议以及证书类型,爱奇艺QLB团队通过对ECC、RSA、TLS1.2、TLS1.3几个维度,使用 ab 进行并发测试,以获取最佳使用策略。
以下为测试数据,供读者参考
场景 | QPS | Time | 单次发出请求数 |
---|---|---|---|
RSA证书 + TLS1.2 | 316.20 | 316.254ms | 100 |
RSA证书 + TLS1.2 + QAT | 530.48 | 188.507ms | 100 |
RSA证书 + TLS1.3 | 303.01 | 330.017ms | 100 |
RSA证书 + TLS1.3 + QAT | 499.29 | 200.285ms | 100 |
ECC证书 + TLS1.2 | 639.39 | 203.319ms | 100 |
ECC证书 + TLS1.3 | 627.39 | 159.390ms | 100 |
数据来源于 爱奇艺QLB团队
小结
从对 SSL 加速的结果上看,使用 QAT 对 RSA 证书加速后,能提升40%左右的性能。
但不管哪种场景,使用 ECC 证书较 RSA 证书性能提升很多,即使 RSA 使用了 QAT 加速亦是如此。另外 QAT加速卡硬件成本、维护成本较高,综合考虑建议 使用 TLS1.3 + ECC 证书方式。