HTTP请求超时时间导致的请求长时间等待


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,查看堆栈信息


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM