由于公司需要上线HTTPS,于是针对HTTPS需要做压力测试,使用相同加密强度的证书,分别对Haproxy和Nginx做压力测试,然后进行CPU使用量的对比:

以下均针对相同网址及后台服务器进行1000次请求压力测试:

第一次haproxy 1000次https压测

Haproxy HTTPS VS Nginx HTTPS_第1张图片

第二次haproxy http压测

Haproxy HTTPS VS Nginx HTTPS_第2张图片第三次Nginx https,默认DH加密算法压测

Haproxy HTTPS VS Nginx HTTPS_第3张图片

第四次Nginx不使用DH加密算法

Haproxy HTTPS VS Nginx HTTPS_第4张图片

现在对比4次系统的空闲负载情况

Haproxy HTTPS VS Nginx HTTPS_第5张图片

可以看到我们做了4次压力测试,其中haproxy对CPU的压力大,Nginx默认使用DH加密算法的对CPU的压力要小于haproxy一半,然后不使用DH加密算法对CPU的压力又小于使用DH的CPU压力

项目(1000次) 所需时间(秒) 没秒请求数(次)
Haproxy HTTPS 139.9 7.15
Haproxy HTTP 3.5 285.57
Nginx HTTPS(DH) 32.6 30.60
Nginx HTTPS(RC) 15.5 64.14

可以看出虽说Haproxy支持HTTPS但是对于处理HTTPS的性能还是比较弱的,相比Nginx来说,相同加密算法可以高出4倍。但是对于HTTP的话,处理速度低于10倍,所以说现在很多网站未大量使用HTTPS,却也是为了成本的考量


关于Haproxy和Nginx配置HTTPS可以参考

http://fengwan.blog.51cto.com/508652/1719863 (Haproxy HTTPS)

http://fengwan.blog.51cto.com/508652/1719708 (Nginx HTTPS)