链路查询时间只有1秒以内,但是整体耗时高达7秒

Blade 未结 2 907
8855709
8855709 剑圣 2021-08-06 15:18

一、该问题的重现步骤是什么?

1. 本地局域网服务器部署BladeX相关服务

2. 开发本地电脑开启两个服务进行开发

3.通常在第一次请求(或者停顿几分钟之后,或者修改携带的参数等)会很慢,耗时长达7秒左右,而实际上直接整个链路的耗时之后1秒以内。


二、你期待的结果是什么?实际看到的又是什么?

这种情况反常的频繁,但是我重复请求的话,是很快的,只要隔一段时间,或者第一次请求,就会出现这个问题。BladeX没有做过任何改动,想请教下,这种情况改如何排查?

或者可能是哪里引起的原因,给我的感觉就是,主要耗时在request开始到网关再到我的服务第一次接收这个request的过程很漫长。这点很影响体验,但是我无法定位问题。还望能够帮助查看,或者我这里可以提供远程帮忙看下。


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。

这是浏览器反馈的查询耗时:

image.png


这是每次请求的链路耗时:

image.png

五、若有更多详细信息,请在下面提供。

2条回答
  • 2021-08-06 15:39

    补充一次完整的链路过程:


    1、请求的header埋点 uuid=222222222222

    73B@QTZJ]J}8%A658Y[84[M.png


    2、本次请求总耗时:8秒+

    0PHMO$X8Z17L]P1X6G$MV2L.png

    3、查询到请求到网关的时间

    ~{H5NPKZ9}U0}P8VXZNK1LQ.png

    4、我自己后台日志记录的服务的第一次接收request到返回数据点时间

    2YESJXH8(5AQJWG51R{OIXE.png

    SLWQ@85DO87DO]YDY45E_`V.png

    总耗时不到2秒。

    0 讨论(0)
  • 2021-08-06 21:00

    这是springcloud的通病,第一次调用或者隔一段时间调用比较慢是因为他要有一个生成bean缓存的过程。生成完毕后再调用就快了。过一段时间会销毁,再次调用会继续缓存。

    相关原因的排查以及处理可以看下这个帖子:https://blog.csdn.net/qq_25868207/article/details/105144366

    0 讨论(0)
提交回复