1、业务中因为想根据用户ip来做一些友好的提示,所以在网上找了个免费的ip查询地址
http://ip.taobao.com/service/getIpInfo.php?ip=
虽然说淘宝的这个地址会限制频率,但是也还勉强可以用
但是今天线上几个服务突然全部被堵死了
主要现象如下:
本地curl “127.0.0.1:port”没反应,外部也进不来
ss -s发现 TCP也是达到1W+
项目日志有的时候刷的很快,有的时候就暂停了
top查看,发现cpu并不高,内存占用也一般
因此看不出来问题究竟出在哪里
——————————————————————————————————————————-
使用jstack dump出停止时的线程信息
发现线程信息基本都是TIME_WAITED,WAITED,而且每个线程都各自等待着不同的线程
本地经过仔细的看,发现了点蛛丝马迹,代码定位到请求淘宝的接口上
接着再用https://jstack.review/#tda_1_dump分析了一下,结果如图,也基本确定了问题出在这里
查看代码,最后发现,一个很高频的接口,因为请求淘宝接口的http工具(历史工具),没做超时显示,返回时间最高的甚至达到900多s
至此,问题解决,项目http工具不统一,留下的炸弹,而api接口未做熔断,也是一大纰漏
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112562.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...