SpringBoot项目关于Httpclient调用返回时间很长求解

新手上路,请多包涵

最近开发的银联支付对接,现在测试时发现每次应用重启后,在刚开始的3-5个第三方接口调用时间非常长,最长的能1分钟才拿到结果。当跑过这几个后,后面就变得正常了几毫秒就拿到结果了。很痛苦,不知道怎么去排查,有没有前辈能给点排查思路,感谢。(本人只是个毕业刚工作了6个多月的萌新)

  1. 调用方式就是用的HttpClient,是银联的接口,我认为肯定不是对方的问题,不过也给他们反馈了,还没回应。
  2. 服务器是腾讯云服务器。
  3. 项目是springboot的。
阅读 2.8k
1 个回答

这里没有最终的答案,只是尝试着给你几个解决问题的思路:
比如:你可以先尝试定位一下,究竟阻塞发生在你这边还是对方那边。
你可以先试试本机(开发机器)是否存在前3-5个调用很慢的情况。
更进一步,在不跟踪到HttpClient具体发送和接受数据包的代码情况下,有个不错的工具可以监听网络通讯状况,你尝试一下:WireShark
当你发起请求以后,可以通过wireshark观察到发出的请求包何时结束、对方的响应何时到来。
还可以对比 刚开始的3-5个调用和后面的调用,在请求/应答数据包、以及调用时间方面有什么差别。
当然,使用wireshark需要你具备基本的TCP通讯基础知识(比如TCP三次握手之类)、以及和HTTP通讯数据包和TCP数据包的关系。如果你不了解,这也是一个不错的学习机会。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题