웹서버 TIME_WAIT 많을 시 대처 방법

리눅스/APACHE|2015. 1. 16. 17:02
반응형

네트워크 관련 프로그램이 TIME-WAIT이 걸린경우가 너무 많아 문제가 될경우에...

netstat 로 확인할때 status가 TIME-WAIT이 걸린것이 있다는것은 packet이 정상적으로 host & client가 종료를 한것이고 host에서는 다음 네트워크 신호가 올때 빠르게 연결하여 사용할수 있도록 약 (linux default 60sec) 1분정도 TIME-WAIT status로 대기하고 있다.

 

만약에 TIME-WAIT이 있다면 이것은 하나의 port를 잡고 있는것이므로 너무 많은 TIME-WAIT이 있으면 나중에 network port 부족으로 더이상 창이 뜨지도 않고 문제가될경우도 있다.

 

이럴경우 이 TIME-WAIT을 오랜시간 기다리지 않고 바로바로 socket를 닫아버리게 설정하려면 우선은 /etc/sysctl.conf 파일에서 timeout_time_wait, timeout_close_wait, timeout_fin_wait 값을 조절해주면 된다.

그러나 시스템에 따라서는 이것을 조절해줘도 해결이 안되는 경우가 있다.

 

이럴경우에 kernel에 time-wait에 대한 세션 recycle을 강제로 진행하도록 해준다.

그러면 time-wait가 걸리지 않는다.

 

echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle


[출처] 웹서버 TIME_WAIT 많을 시 대처 방법|작성자 백가이다

반응형

댓글()