SpringBoot项目关于Httpclient调用返回时间很长求解
最近开发的银联支付对接,现在测试时发现每次应用重启后,在刚开始的3-5个第三方接口调用时间非常长,最长的能1分钟才拿到结果。当跑过这几个后,后面就变得正常了几毫秒就拿到结果了。很痛苦,不知道怎么去排查,有没有前辈能给点排查思路,感谢。(本人只是个毕业刚工作了6个多月的萌新)
- 调用方式就是用的HttpClient,是银联的接口,我认为肯定不是对方的问题,不过也给他们反馈了,还没回应。
- 服务器是腾讯云服务器。
- 项目是springboot的。
回答:
这里没有最终的答案,只是尝试着给你几个解决问题的思路:
比如:你可以先尝试定位一下,究竟阻塞发生在你这边还是对方那边。
你可以先试试本机(开发机器)是否存在前3-5个调用很慢的情况。
更进一步,在不跟踪到HttpClient具体发送和接受数据包的代码情况下,有个不错的工具可以监听网络通讯状况,你尝试一下:WireShark
当你发起请求以后,可以通过wireshark观察到发出的请求包何时结束、对方的响应何时到来。
还可以对比 刚开始的3-5个调用和后面的调用,在请求/应答数据包、以及调用时间方面有什么差别。
当然,使用wireshark需要你具备基本的TCP通讯基础知识(比如TCP三次握手之类)、以及和HTTP通讯数据包和TCP数据包的关系。如果你不了解,这也是一个不错的学习机会。
以上是 SpringBoot项目关于Httpclient调用返回时间很长求解 的全部内容, 来源链接: utcz.com/p/944392.html