有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > 负载均衡 > 运维指南 > 负载均衡 HTTPS 服务性能测试

1. CLB 负载均衡器 HTTPS 能力说明

腾讯云 CLB 负载均衡器通过对协议栈及服务端的深度优化,实现了 HTTPS 性能的巨大提升。同时,我们也通过证书的国际合作,极大降低了证书的成本。腾讯云 CLB 在如下几个方面能够为业务带来非常显著的收益:
1. 使用 HTTPS 并不会降低 Client 端的访问速度。
2. 集群内单台服务器 SSL 加解密性能,高达6.5W cps的完全握手。相比高性能 CPU 提升了至少3.5倍,节省了服务端成本,极大提升了业务运营及流量突涨时的服务能力,增强了计算型防攻击的能力。
3. 支持多种协议卸载及转换。减少业务适配客户端各种协议的压力,业务后端只需要支持 HTTP1.1 就能使用 HTTP2,SPDY,SSL3.0,TLS1.2 等各版本协议。
4. 一站式 SSL 证书申请、监控、替换。我们和国际证书厂商 comodo,symantec 展开对话,探讨合作,大幅缩减证书申请流程及成本。
5. 防 CC 及 WAF 功能。能够有效杜绝慢连接、高频定点攻击、SQL 注入、网页挂马等应用层攻击。

2. 测试目的

HTTPS 服务拥有身份验证,信息加密及完整性校验等优势,但通过新增 SSL 协议实现安全通信,必然会产生一定的性能损耗,主要包括延时的增加及加解密消耗 CPU 资源等方面。本文测试了腾讯云 HTTPS 服务在 SSL 加解密情况下的极限性能数据,供用户与 HTTPS 传统性能数据进行比对和参考。

3. 测试环境

压力工具:wrk 4.0.2
腾讯云底层服务环境:Nginx 1.1.6_1.9.9 + Openssl 1.0.2h
安装Nginx机器操作系统信息:Linux TENCENT64.site 3.10.94-1-tlinux2-0036.tl2 #1 SMP Thu Jan 21 03:40:59 CST 2016 x86_64 x86_64 x86_64 GNU/Linux
其他压力机器操作系统:Linux TENCENT64.site 2.6.32.43-tlinux-1.0.17-default #1 SMP Tue Nov 17 18:03:12 CST 2015 x86_64 x86_64 x86_64 GNU/Linux

4. WebServer 集群测试方案

由于单台压力机无法发送足够大的压力测试腾讯云https服务的极限性能,需要采用多台压力机来发送压力,整个测试包含三部分:
1. 压力机集群。用来发送 http/https 压力,并输出单台机器的压力测试结果 。
2. 中控机,同步控制压力机集群的启动和结束,获取各台机器的压力数据并汇总输出。
3. 测试机,即承载腾讯云 HTTPS 服务的云机器,测试 WebServer 性能,直接返回页面,不需要连接 upstream。 连接关系如下表示:



5. HTTPS WebServer 测试性能数据

连接类型
Session cache
包体(bytes)
加密套件
性能(qps)
打开
230
ECDHE-RSA-AES128-GCM-SHA256
296241
关闭
230
ECDHE-RSA-AES128-GCM-SHA256
65630

6. CLB HTTPS 能力测试结论

由上表可知,腾讯云 HTTPS 支持 SSL 加解密,其后端拥有多个服务器集群,单集群的单台云服务器完全握手性能可达到65000 qps,长连接时性能可以达到约300000qps。
普通情况下,HTTPS 协议由于使用 SSL 协议,增加了至少一次完整握手的过程,因此增加延时为2 × RTT。此外,SSL 对称/非对称加密将消耗大量 CPU 资源,RSA 的解密能力是困扰 HTTPS 接入的主要难题。
使用腾讯云负载均衡的 HTTPS 服务,用户无需为 SSL 加解密单独部署服务,且腾讯云不收取任何额外费用,让用户轻松拥有极强的业务承载能力和防攻击能力。