서버 에 close 대량 출현질문

1235 단어 socketshell각본
문제 장면
호 남 소란 전화의 soap 그룹 이 링크 를 바 꾼 후 웹 soap 은 대량의 closewait 연결 하고 그룹 에서 다시 요청 을 하면 응답 하지 않 습 니 다.
원인 분석
이것 은 client 가 정상적으로 socket 을 닫 지 않 아서 생 긴 것 입 니 다. 예 를 들 어 client 가 직접 닫 거나 socket. close () 가 없 거나 우리 쪽 에서 Fin 을 받 았 지만 읽 기와 쓰기 에 바 빠 서 Fin 을 상대방 에 게 보 내지 않 았 습 니 다.
해결 방안
문 제 를 빨리 해결 하기 위해 셸 스 크 립 트 만 쓸 수 있 습 니 다. 정시 감지 closewait 수, 세 개 이상 이면 tomcat 다시 시작
#!/bin/bash
a=`netstat -n | grep 8088 | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | grep CLOSE_WAIT | cut -d ' ' -f 2`
if
[ "$a" = "" ]
then

elif
[ $a -gt 3 ]
then
 sh ./a.sh
fi

좋은 웹페이지 즐겨찾기