질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

서버에 FIN_WAIT1과 SYN_RECV 가 많아져서 DB연결이 끊기는데요

작성자 정보

  • 짜증지대로 작성
  • 작성일

컨텐츠 정보

본문

서버에 따로 만지거나 한건 없습니다.
얼마전까지 잘 돌아가다가 오늘 오후부터 갑자기 DB에 접속자수가 많아서 연결이 안된다느 에러메세지가 뜨던데요 그래서 서버에서 top 쳐 보니
top - 16:52:00 up 1021 days,  4:58,  2 users,  load average: 0.08, 0.13, 0.13
Tasks: 186 total,   1 running, 184 sleeping,   1 stopped,   0 zombie
Cpu(s):  1.2%us,  0.2%sy,  0.0%ni, 98.6%id,  0.0%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   2058660k total,  1618008k used,   440652k free,    21920k buffers
Swap:  1959920k total,       96k used,  1959824k free,   929344k cached

별 문제는 없고  httpd접속이 좀 많습니다.
그래서 netstat -anl | grep FIN으로 먼저 검색해보니
쭉~~~~내려가면서 웹포트로 FIN_WAIT1이 쭉 나옵니다.

접속한 아이피 검색해보니 마이크로소프트와 야후 IP인데요
16.120.57.211:80           207.46.12.241:46466         FIN_WAIT1  
tcp        0    739 116.XXX.57.21:80           207.46.12.241:12937         FIN_WAIT1  
tcp        0    739 116.XXX.57.21:80           207.46.199.48:15235         FIN_WAIT1  
tcp        0    739 116.XXX.57.21:80           207.46.13.136:24050         FIN_WAIT1  
tcp        0   1267 116.XXX.57.21:80           207.46.13.44:44882          FIN_WAIT1  
tcp        0    739 116.XXX.57.21:80           207.46.13.136:26345         FIN_WAIT1  
tcp        0    739 116.XXX.57.21:80           207.46.13.96:20997          FIN_WAIT1  
tcp        0    739 116.XXX.57.21:80           207.46.13.146:57589         FIN_WAIT1  
tcp        0   1267 116.XXX.57.21:80           207.46.199.42:47238         FIN_WAIT1  

그리고 netstat -anl | grep SYN으로 쳐보니
한 20개 정도 보입니다. IP는 역시 msn과 야후쪽이구요 봇인거 같은데요

쭉 봇들은 들어오는거 같았는데 별 문제없었거든요 근데 갑자기 이런 현상이 생기니 당혹 스럽습니다.
원인이 뭔지도 감이 안 잡히고요 ㅠㅠ

아파치는 1.3.37 버전입니다.
타임아웃은 300초
keep_alive on
KeepAliveTimeout 15 
MaxClients 512
max_connection = 100
이렇게 설정되어 있습니다.

서버에 메모리는 2기가 입니다

mysql 설정은
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
이렇게 되어 있습니다.

원인이 어떤건지 해결책은 어떤건지...알려주시면 감사하겠습니다.


관련자료

댓글 2

짜증지대로님의 댓글

  • 짜증지대로
  • 작성일
우선 keep_alive on 을 off로 해서 많이 줄어들었습니다. 그래서 그런지 디비 연결로 잘 되고 현재로서는 괜찬은데요

원인이 뭔지 궁금합니다. 혹 짐작가는게 있으신지요?? ^^

황정호님의 댓글

  • 황정호
  • 작성일
FIN_WAIT1  같은 경우는 접속된 사용자의 강제종료 로 연결 경로가 끊어지는 경우 또는
최대 process 갯수를 정의 가 적어 그런 증상이 다른 os 에서도 일너나곤 합니다.

해결방법은 KeepAliveTimeout 15 의 숫자를 줄여 대기하 시간을 줄여 주는 방법이 있습니다.

80포트가 많아지면 100명의 유저설정에서  FIN_WAIT1  가 100개 라면 새로운 접속자는 접속이 않되는 현상이 발생합니다.
다른 os 엔지니어다 보니 제가 답을 충분히 못드렸네요

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,791 개
  • 현재 접속자 :  229 명