美文网首页
一次线上请求超时定位历程

一次线上请求超时定位历程

作者: 愿远方有你 | 来源:发表于2022-03-12 21:44 被阅读0次

遇到一个生产问题,平时rpc接口请求耗时都是在100 ms 毫秒以内的请求,今天突然请求响应时间到到1000ms 左右,定位过程如下:

  • 1、查看服务rpc 接口响应时间,查询大部分请求时间确实边长了
  • 2、查看 依赖的服务的http 接口响应时间,是正常,都是在100ms 以内
  • 3、查看服务gc 日志,gc 时间正常 没有啥问题
  • 4、通过Arthas 打印调用链路耗时、命令 trace com.xxx.xxx.MyClass pullTask ,用法 全限定类名和方法名。打印出各个方法,看到是通过consul 获取地址,耗时长
  • 5、查看代码,服务调用过程


    image.png
  • 6、通过curl 直接访问,记录耗时时长,方便找运维看问题
    1、准备一个文本文件 time_format.txt
      time_namelookup:  %{time_namelookup}\n
      time_connect:  %{time_connect}\n
      time_appconnect:  %{time_appconnect}\n
      time_redirect:  %{time_redirect}\n
     time_pretransfer:  %{time_pretransfer}\n
     time_starttransfer:  %{time_starttransfer}\n
                      ----------\n
           time_total:  %{time_total}\n
    

2、 命令 curl -w "@time_format.txt" -o /dev/null -s -L 'http://127.0.0.1:8500/v1/health/service/xxxx?passing=true'
3、执行结果

image.png
4、通过这个运维,就ok了

参考链接:
https://zhuanlan.zhihu.com/p/52181300
https://www.duyidong.com/2019/11/26/arthas-analytics-rt/

相关文章

  • 一次线上请求超时定位历程

    遇到一个生产问题,平时rpc接口请求耗时都是在100 ms 毫秒以内的请求,今天突然请求响应时间到到1000ms ...

  • win+r cmd ping 请求超时 请求超时 请求超时 请求超时 数据包 已发送 =4 已接受 =0 丢...

  • appium执行报错:socket hang up

    运行appium报错: 造成这个原因的情况很多,常见的有元素定位过程中超时,还有网络请求接口超时,导致socket...

  • 记一次cpu负载高的问题定位

    背景 生产服务出现请求慢,接口超时,服务器cpu占用高,需要排查定位问题。 初步定位 1、根据反馈,初步定位为cp...

  • restTemplate拦截器抛异常引发的问题

    问题代码: 问题: 线上出现请求超时问题,restTemplate设置的readTimeout参数未生效。以为是请...

  • 请求超时

    请求超时分两种:前端超时,服务端超时1.服务端超时:当请求到服务端默认超时时间还是无响应,服务端会自动断开请求2....

  • Apollo 长轮询超时错误

    最近线上碰到一个线上的go程序Apollo报错,请求apollo的时候超时,记录一下错误的原因。 错误信息 Apo...

  • Apache HttpClient使用不当导致的请求超时问题排查

    Apache HttpClient使用不当导致的请求超时问题排查 一、背景 近期负责的线上应用出现调用失败的问题,...

  • 请求超时

    请求超时 网络不好,浏览器连接服务器超过5s 响应超时 连接服务器,url参数直接提交到服务器 body类型的参数...

  • 请求超时

    最近打开简书,总是出现问题,页面难以打开,总是显示请求超时,不管是点自己的文章还是要写文章,都要反应很久。 因为这...

网友评论

      本文标题:一次线上请求超时定位历程

      本文链接:https://www.haomeiwen.com/subject/rasldrtx.html