nginx集群配置实践及使用jmeter单节点和集群测试对比

1.nginx集群配置
nginx集群配置实践及使用jmeter单节点和集群测试对比
文章图片

使用upstream配置tomcat服务器IP和端口,如果server只有一个,则nginx的作用相当于一个反向代理服务器,如果server是多个,则相当于nginx配置集群。
如图,当请求经过99端口时,在location中使用proxy_pass会将请求分配到配置的upstream中,从而达到了集群或反向代理的效果。
2.集群配置完成后,使用jmeter对单节点和集群进行压力测试
nginx集群配置实践及使用jmeter单节点和集群测试对比
文章图片

由于本人只有一台腾讯云的1G2核的云服务器,所以集群是把tomcat部署在同一个服务器的不同端口进行测试,测试结果可能与正常不同服务器的tomcat作为集群有所出入。
jmeter两个测试计划(分别是单节点和集群测试)均模拟20个用户的并发数来进行测试。由于在压测过程中,发现线程有时候会卡死,导致测试不能正常进行,所以在http请求中加入了10000ms的超时(也可以配置jmeter的运行内存大小来解决),保证线程不会卡死。
3.对比压测结果
nginx集群配置实践及使用jmeter单节点和集群测试对比
文章图片

上方为单节点的压测结果,下方为集群的压测结果。
着重查看两边的异常率,单节点的异常率为9.75%,集群的异常率为8.2%,显然集群的性能比单节点的性能较好。
【nginx集群配置实践及使用jmeter单节点和集群测试对比】正常情况下,集群能实现1 + 1 >2的效果(2核4G + 2核4G > 4核8G)。
另外,异常率如果超过某个临界点比如20%,则说明当前服务器的性能达到瓶颈,需要对服务器进行扩容或者硬件的升级,才能满足更高的并发效果。

    推荐阅读