리눅스 분류
서버에 FIN_WAIT1과 SYN_RECV 가 많아져서 DB연결이 끊기는데요
작성자 정보
- 짜증지대로 작성
- 작성일
컨텐츠 정보
- 4,799 조회
- 2 댓글
- 0 추천
- 목록
본문
서버에 따로 만지거나 한건 없습니다.
얼마전까지 잘 돌아가다가 오늘 오후부터 갑자기 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
이렇게 되어 있습니다.
원인이 어떤건지 해결책은 어떤건지...알려주시면 감사하겠습니다.
얼마전까지 잘 돌아가다가 오늘 오후부터 갑자기 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 엔지니어다 보니 제가 답을 충분히 못드렸네요
최대 process 갯수를 정의 가 적어 그런 증상이 다른 os 에서도 일너나곤 합니다.
해결방법은 KeepAliveTimeout 15 의 숫자를 줄여 대기하 시간을 줄여 주는 방법이 있습니다.
80포트가 많아지면 100명의 유저설정에서 FIN_WAIT1 가 100개 라면 새로운 접속자는 접속이 않되는 현상이 발생합니다.
다른 os 엔지니어다 보니 제가 답을 충분히 못드렸네요