最近除了开发上的工作外还要做压力测试,一方面用 jmeter 做压测,另外用 AOP 记录了进入方法和出去的消耗时间。然后我发现这两者间相差太远了。如图所示: 这个是 jmeter 测试的响应时间,几乎都在 8 秒以上。 这个是在 AOP 记录的时间,绝大多数都是 50 毫秒以下吧,也有相当一部分是五六百毫秒的。 服务器是本地的服务器,32G 8 核心 16 线程, 网络是 WIFI,延迟应该相当低才对。 两个时间相减,那么有大部分的时间都去哪里了?
1
337136897 OP 为啥没人 QAQ
|
2
luoway 2018-10-22 11:41:17 +08:00
> 另外用 AOP 记录了进入方法和出去的消耗时间
排队时间呗 |
5
fcten 2018-10-22 11:53:45 +08:00
进入方法是已经分配到资源了,事实上压力测试的时候如果没有做降级和熔断,会有大量的请求阻塞在等待资源的状态。这部分时间你没有统计到。
|
8
cyssxt 2018-10-22 13:11:14 +08:00 via iPhone
不是所有请求一来就会被执行的!服务器资源是有限的,比如一个服务器的美妙并发是 500,那么如果超过 500 的请求怎么办?就是需要熔断降级 ,进行过载保护!我觉得这个 jmeter 测试并没有问题 压测主要目的是测试服务器瓶颈,这就需要你通过调整 jmeter 并发数来找到服务器瓶颈。
|