2013년 11월 8일 금요일

IIS 6.0 - 최초 접속시 성능 지연

사이트에서 이상한일이 발생했다.
아침마다 처음 페이지 접속하는 사람이 3~5분동안 hang 상태인것 처럼 페이지가 안열리다가, 그사람이 접속된 이후로 다른사람은 접속이 잘된다는 것이다.

간혹 WAS를 최초 재기동 한 후에 jsp precomplie 설정이 되어 있지 않으면 읽은 jsp 를 처음 컴파일 하느라 느린 현상은 봤었는데, 이 현상은 WAS 를 재기동 하지 않아도 발생했다.

WAS 쪽에는 특이사항이 없어서, 웹서버 aceess 로그를 살펴봤다.

그중 발견한 사항이... 성능 저하가 발생하는 시점에는 access 로그에 다음과 같이 로그 헤더가 생성되는 것이다.


  ---------------------------------------------------------
  #Software: Microsoft Internet Information Services 6.0
  #Version: 1.0
  #Date : ...
  #Field : date time ...
  ----------------------------------------------------------

해당 현상으로 구글링을 해본 결과.....

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/23ec8be2-649a-47b7-8d75-ffd937f16fe8.mspx?mfr=true

Logging Headers
In the past, the logging headers that were written to a log file typically indicated the restarting of the Web service. In IIS 6.0 this is not the case. After waiting for 15 minutes for a given site, HTTP.sys stops logging. When the next request for that site arrives, HTTP.sys restarts logging and writes a new set of headers to the log file.

"즉, 요청이 지속적으로 없는 경우 15분마다 HTTP.sys 가 restart 된다."

결과 확인을 위해 웹서버를 재기동 했더니 현상이 재현되었다.
이 사이트는 유저가 몇명 안되서 15분 이상 서버에 request 가 없는 경우 HTTP.sys (뭐하는건진 찾아보시라..) 가 재시작 되면서 성능 저하가 일어나는 것으로 추정된다.

MS 에 문의를 좀 해봐야겠다..

-- 출처 : 본인 작성

댓글 1개:

  1. windows 서버의 커널 메모리 영역 부족으로 발생했던 것으로 추정된다. (추정인건..내가 서버 담당자가 아니여서 @_@ )
    윈도우 패치 후 현재 해당 현상은 아직 재발하지 않음;;;

    답글삭제