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

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

第一次haproxy 1000次https压测

wKiom1ZqI1yCW8a1AAICFEr2anI819.jpg

第二次haproxy http压测

wKiom1ZqJC2A5X0fAAHPW3e3C_c177.jpg第三次Nginx https,默认DH加密算法压测

wKiom1ZqJavQ4asaAAEEU5eUWTE088.jpg

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

wKioL1ZqJu2AK51eAAH8XzDZi7U406.jpg

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

wKioL1ZqKBOj0xrtAABjMM0pcjg751.jpg

可以看到我们做了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)