假如访问网站或接口响应时间很长如何排查?
第一步:从外层开始
打开浏览器开发者工具F12,进入network,查看文件响应时间,为了排查是否有可能css或者js插件引用了国外的地址,导致请求时间过长。
第二步:文件没有问题后,排查接口
1、如果接口读取超时,考虑是否是sql问题,需要优化sql。找到sql去MySQL执行一下,查看执行时间,expain一下SQL查看索引,针对性优化。2、如果sql没问题,可能是写的逻辑代码的问题,一行行审代码,找到耗时的地方改造,优化逻辑。
第三步:如果前两步都没有问题,则排查网络情况
查看是否是网络运营服务商导致网络延迟或数据丢包
总的来说:可能原因
1、网络运营服务商导致网络延迟或数据丢包
2、接口服务的系统延时
3、多线程代码执行延迟
4、代码本身问题
- RestTemplate 使用时未设置超时时间,默认不超时
- 影响超时时间的因素
- tcp 连接本身的超时时间
- nginx 默认读取后端服务的超时时间是 60s