반응형

구조 : DB 서버 #1, WAS 서버 #2

현상

netstat | grep mysql

mysql 포트를 확인했을 때 아래와 같이 close_wait, time_wait 와 같은 아래와 같이 사용되지 않는 포트가 많이 보임. 나중에 사용자가 늘었을 때, 사용되지 않는 포트나 인스턴스가 늘어 서버에 부하를 줄 것으로 예상.

TCP 통신 중 제대로 소켓이 끊어지질 않아 발생하는 문제 : TIME_WAIT, CLOSE_WAIT

1) TIME_WAIT 해결 방법

MySQL에서 wait_timeout을 설정한다. 사용되지 않는 커넥션들이 반환되어 다시 사용될 준비되는 시간이 2,000,000초이다. 그 시간 동안 계속 대기 상태이므로 timeout을 여유롭게 60초로 변경한다.

show variables like '%timeout%'

set GLOBAL wait_timeout=60;

대기 중인 포트는 사라짐.

2) CLOSE_WAIT 해결 방법

close_wait를 없애는 방법은 서버를 재기동하는 방법밖에 없음.

https://tech.kakao.com/2016/04/21/closewait-timewait/
 

CLOSE_WAIT & TIME_WAIT 최종 분석

트래픽이 많은 웹 서비스를 운영하다보면 CPU는 여유가 있지만 웹서버가 응답을 제대로 처리하지 못하고 먹통이 되는 경우를 종종 보게 됩니다. 여러가지 이유가 있겠지만, 이 글에서는 가장 대

tech.kakao.com

정리를 하자면, 

 

 

행(hang)이란 시스템, 네트워크, 어플리케이션이 동작하지 않고 서비스가 응답하지 않는 상태 즉, 시스템 입출력에 대한 반응이 없는 상태로 시스템 운영이 불가능한 상태를 뜻합니다. 
행 증상의 원인으로는 하드웨어의 결함이나 Thread 혹은 Memory 부족, 리소스 경합이나 DeadLock이 발생

 

728x90
반응형

+ Recent posts