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

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

第一次haproxy 1000次https压测

Haproxy HTTPS VS Nginx HTTPS_https性能

第二次haproxy http压测

Haproxy HTTPS VS Nginx HTTPS_https性能_02第三次Nginx https,默认DH加密算法压测

Haproxy HTTPS VS Nginx HTTPS_https性能_03

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

Haproxy HTTPS VS Nginx HTTPS_https性能_04

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

Haproxy HTTPS VS Nginx HTTPS_https性能_05

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

项目(1000次)所需时间(秒)没秒请求数(次)
Haproxy HTTPS139.97.15
Haproxy HTTP3.5285.57
Nginx HTTPS(DH)32.630.60
Nginx HTTPS(RC)15.564.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)