关于本机增加nginx之后的压测数据疑问

来源:3-3 带你手撸Redis-setnx简化版分布式锁

10000h丶

2023-11-10

一:本机启动nginx + 两个springboot app(app1,app2),压测请求直接请求nginx负载均衡到app1和app2
二:直接请求到app1或者app2任何一个(app1,app2只是端口不一样,无任何区别)

压测结果:
一:
图片描述
二:
图片描述
相同条件下发现一,二的Requests Per Second相差了有一倍之多,请问一下大致的原因是什么啊
ps:光看截图可能也不太好分析的话,那能不能推荐几个排查方向~

写回答

1回答

Er十七

2023-11-10

我先说下我的理解,如果有问题可以在讨论。首先request per second指标的意思是一秒能处理的请求数量。我看第一种情况是nginx做了负载均衡,背后是两台机器在共同处理客户端请求,它的处理能力肯定是要高于第二种情况的单机器处理能力的。比如说一台机器一秒能处理100的请求,两台理论上就是200个请求。第一种情况处理的请求多于第二种情况二倍应该是正确现象的。如果单独任意一台他们的处理能力应该区别不大所以没有明显差距也是正常的。

0
1
Er十七
图里是反过来了是吧,反而nignx负载均衡的请求数量小于单机的请求数量。如果是这样的话,需要看一下你的nginx配置和业务代码,我说几个方向可以看下先: 1、nginx转发是否配置正确,是否可以在两个应用上看到轮询请求日志,可以增加相关日志做排查。 2、应用代码中是否会存在锁竞争问题,多应用因为锁竞争导致Requests Per Second下降。 3、nginx和两个服务器启动是否对本机的一些硬件资源产生影响,比如CPU、内存,可能会因为对于这些资源竞争导致Requests Per Second低。 4、是否操作数据库资源,多应用频繁并发请求数据库,也有可能造成Requests Per Second低。
2023-11-10
共1条回复

Java主流分布式解决方案多场景设计与实战

本课程是一门关于分布式系统下常见的解决方案的课程

178 学习 · 49 问题

查看课程