Nginx是一款口碑非常不错的反向代理、负载均衡服务器。据说并发支持可达5万。
在部署WAF时经常使用,常见的一种网络结构是:Nginx在最前端,做为反向代理、负载均衡,Nginx后方,是业务服务器集群。
本文通过实际测试,验证这种方法是否高效、有多少RPS性能损失。如果数据不是指向Nginx,而是指向WAF本身,性能又是如何。
系统:Windows
测试使用:Nginx、ShareWAF(一款WAF产品,官网:http://www.sharewaf.com/)、ab
测前准备:使用www.test.com域名,已修改host进行本地解析。
其它:Nginx装在一台电脑上,ShareWAF装在另一台电脑(ip:192.168.1.19),两台电脑配置均不高。
1、Nginx配置如下:
3个负载均衡指向:
未使用负载均衡,只做反向代理:
测试时,Nginx会分别使用这两种配置方式。
2、
使和ab工具进行测试,
ab -c100 -n100 http://www.test.com/
(已修改host,www.test.com指向127.0.0.1,即本机Nginx,Nginx转发数据到WAF)
测试结果如下:
3、
使用ab直接指向WAF,不经Nginx:
4、结论说明:
ab连nginx,RPS为36左右;
ab直接连WAF,RPS为86左右;
使用Nginx做负载或反向代理,RPS性能降低50%以上。
那么,
如果在接入WAF之前,是用Nginx做的负载均衡或反向代理,后面接的是业务服务器。
在接入WAF时,如果能直接跳过Nginx,效率最高。即作WAF取代nginx,比如上面测试的ShareWAF是具备这个功能的,可以取代Nginx。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。