netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
发送http请求需要添加超时时间,否则大量的请求会导致被请求方,积累好多待关闭请求,导致后续请求长时间等待,无法释放
参考:https://blog.csdn.net/shootyou/article/details/6615051
参考:https://www.cnblogs.com/zj0208/p/7018098.html
参考:https://www.cnblogs.com/softidea/p/5741192.html
优化系统参数:
net.ipv4.tcp_tw_recycle优化步骤:
1,从单线程修改为线程池
2,每10页等待10分钟
3,服务器从2核升级到4核
4,优化服务器配置net.ipv4.tcp_tw_recycle
5,请求添加3个超时时间ConnectTimeout,SocketTimeout,ConnectionRequestTimeout 3分钟
6,发送请求做异常捕获(超时异常)超时之后能继续执行
7,排查程序是否有死循环等异常
8,检查带宽多少
9,查看堆栈信息