首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
华为云
V2EX  ›  程序员

压测一些接口的时候,为什么接口方法耗时和响应时间相差那么远?

  •  
  •   337136897 · 25 天前 · 898 次点击

    最近除了开发上的工作外还要做压力测试,一方面用 jmeter 做压测,另外用 AOP 记录了进入方法和出去的消耗时间。然后我发现这两者间相差太远了。如图所示: jmeter 这个是 jmeter 测试的响应时间,几乎都在 8 秒以上。 aop 这个是在 AOP 记录的时间,绝大多数都是 50 毫秒以下吧,也有相当一部分是五六百毫秒的。 服务器是本地的服务器,32G 8 核心 16 线程, 网络是 WIFI,延迟应该相当低才对。 两个时间相减,那么有大部分的时间都去哪里了?

    9 回复  |  直到 2018-10-22 14:19:37 +08:00
        1
    337136897   25 天前
    为啥没人 QAQ
        2
    luoway   25 天前
    > 另外用 AOP 记录了进入方法和出去的消耗时间
    排队时间呗
        3
    337136897   25 天前
    @luoway ?出门要排队的?
        4
    luoway   25 天前
    @337136897 #3
    进入方法和出去的消耗时间 = 方法执行时间
    这么理解没错吧?
    没错的话,进入方法的时刻不应是起点
        5
    fcten   25 天前
    进入方法是已经分配到资源了,事实上压力测试的时候如果没有做降级和熔断,会有大量的请求阻塞在等待资源的状态。这部分时间你没有统计到。
        6
    337136897   25 天前
    @luoway 啊对。
        7
    337136897   25 天前
    @fcten 降级和熔断是什么意思?在哪里设置啥的?海蜇请求阻塞等待资源的状态的时间怎么统计?大神啊
        8
    cyssxt   24 天前 via iPhone
    不是所有请求一来就会被执行的!服务器资源是有限的,比如一个服务器的美妙并发是 500,那么如果超过 500 的请求怎么办?就是需要熔断降级 ,进行过载保护!我觉得这个 jmeter 测试并没有问题 压测主要目的是测试服务器瓶颈,这就需要你通过调整 jmeter 并发数来找到服务器瓶颈。
        9
    337136897   24 天前
    @cyssxt 大哥,问个问题啊,我这儿生产环境并发数达到了 450 就上不去了,可是 CPU 占用才 20%啊?怎么搞? tomcat 已经弄过 apr 了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2885 人在线   最高记录 3821   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 19ms · UTC 05:04 · PVG 13:04 · LAX 21:04 · JFK 00:04
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1