sogou / workflow

C++ Parallel Computing and Asynchronous Networking Framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

机器的连接达到了上限,如何关闭TIME_WAIT连接。

dtiny opened this issue · comments

http server(就是例子http echo server的使用) 运行一段时间以后,会出现请求异常,通过netstat -anp|grep port查看,有大量的TIME_WAIT连接,统计一下大概有28218个这样的连接,但是实际上只有3个http client在请求连接。
请问这样是什么原因导致,如何关闭这些大量的TIME_WAIT。请帮助解答一下,谢谢!
image

你好。好像也是老用户了,麻烦star一下项目哈。

你这个业务里,client和server好像是开在同一个机器上的吧。TIME_WAIT是主动关闭连接方才有的,这些TIME_WAIT看上去来自于client进程。我不太清楚你那边用的是什么client,如果要减少TIME_WAIT时间可以使用setsockopt()来减少linger时间。但一般情况下,必要性不是很大。
https://blog.csdn.net/songchuwang1868/article/details/90369445

谢谢解答,确实是client的问题,client大量使用了短连接导致的,client 启用连接复用(Keep-Alive)以后就可解决了。
感谢!