여러 클라이언트가 websocket을 열고 데이터를 보내야하는 서버가 있습니다. 많은 클라이언트가 접속을 할 수없는 것처럼하지만 서버 시스템에서웹 소켓 연결이 FIN_WAIT1 FIN_WAIT2 상태로 고정되었습니다.
.. 보이는 나는 lsof
또는 netstat -an
, 나는 연결의 많은 상태 FIN_WAIT1
와의 연결에서 떨어져 FIN_WAIT2
에 표시되는 것을 볼 수행 할 때 ESTABLISHED
상태에 있습니다. 열린 파일에 대한 ulimit는 현재 1024입니다. 열린 상태의 파일 목록에서이 두 상태에 걸린 연결이 포함 되나요? 그렇다면 1024 한계가 곧 사라질 것입니다. https://serverfault.com/questions/7689/how-do-i-get-rid-of-sockets-in-fin-wait1-state
하지만 훨씬 이해가 안 :
/proc/sys/net/ipv4/tcp_orphan_retries
은 동일합니다 8
에 내가이 링크를 협의 한 https://serverfault.com/questions/274212/what-does-tcp-orphan-retries-set-to-0-mean/408882#408882
보인다 0
이다. 나는 웹에서이 2 가지 상태에 대해 읽었으며 프로토콜의 테두리가 있다는 것을 알고 있지만 연결이 유용하지 않은 상태에 머물러 있지 않은 것을 선호합니다. 어떻게 든 그럴 수 있습니까? ulimit을 변경해야합니까? 그러나 그것은 문제가 x가 아닌 x + y의 시간에 발생한다는 것을 의미합니다.