일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 작업관리자
- MSCS on VMWare
- paged pool
- cluster node as Domain controller
- Windows Server 2016
- Windows Server 2016 Hyper-v Cluster
- SQL Server 2012R2 FCI
- failover cluster
- 터키여행
- windows update
- dsquery
- LiveKD
- ftp7.5 장애조치 클러스터
- iSCSI target
- 클러스터
- windows media service
- SQL Server 2008
- Local TempDB
- Hyper-V
- Session space
- windbg
- 프로세스 CPU 사용량
- 안철수
- FTP7.5
- Xperf
- 인문고전
- nonpaged pool
- windows debugging tool
- Windows Server 2008
- Nested VM
- Today
- Total
류짱:Beyond MySelf
IIS 웹 사이트 오류 - HTTP 503: Service Unavailable 본문
다수의 웹 사이트를 운영 중인 서버에서 특정 웹 사이트 접속 시 service unavailable 메시지와 함께 웹 사이트 접속이 불 가능한 현상이 발생 하였습니다.
[환 경]
Windows Server 2003 EE x86 / IIS 6.0
[문의 사항]
특정 웹 사이트 오류 발생 원인 분석
[증 상]
특정 시간 대에 xxxx 웹 사이트 접속 시 service unavailable 메시지 발생
Httperror에 아래와 같은 오류 메시지 생성
2011-03-22 07:21:20 xxx.xxx.xxx.xx 4938 xxx.xxx.xxx.xxx 80 HTTP/1.1 GET /xxxx.jsp 503 1214720207 QueueFull xxxx 2011-03-22 07:21:20 xxx.xxx.xxx.xx 8591 xxx.xxx.xxx.xx 80 HTTP/1.1 GET /edp/xxxxxxxxxxdo?method=listUserSearch 503 1214720207 QueueFull xxxx |
[원 인]
IIS 에서는 웹 사이트의 너무 많은 요청으로 인해 큐가 꽉 차거나 서버가 오버로드되는 것을 막기 위해 응용 프로그램 풀 큐의 길이를 제한 합니다.
용 프로그램 풀 큐 길이 제한을 설정하면 IIS에서 새 요청을 큐에 넣기 전에 지정된 응용 프로그램 풀 큐의 요청 수를 모니터링 하여 큐에 새 요청을 추가하고 큐 크기가 초과되면 서버에서 요청을 거부하고 사용자 지정할 수 없는 503 오류 응답 메시지를 클라이언트에 보냅니다.
각 응용 프로그램 풀에서 커널 요청 큐는 기본으로 IIS 6.0이 SP1 설치 전에 설치된 경우에는 4000, 이후에 설치된 경우에는 1000으로 제한됩니다.
[조치 방법]
조정이 필요한 경우 이 값을 5000 정도로 늘려 조정하실 것을 권장합니다. 이 값을 제한하지 않거나 너무 크게 늘려 줄 경우 응용 프로그램 풀에서 메모리 부족을 겪을 수도 있습니다.
이 값을 조정하는 방법은 다음 기술문서를 참고하십시오.
error message if the AppPoolQueueLength value is too low: "HTTP 503: Service Unavailable"
http://support.microsoft.com/kb/816995/en-us
커널 큐 모니터링 관련 Current ISAPI Extension Request 값 이벤트 로깅
Windows Server 2008에서는 “HTTP Service Request Queues” 성능 카운터에서 이 값을 모니터링 할 수 있으나
Windows Server 2003 IIS 6.0에서는 Http.sys 커널 디바이스 드라이버의 성능 카운터가 제공되지 않습니다.
따라서, IIS 6.0에서는 (WebLogic과 같이) ISAPI 응용 프로그램으로 인해 응용 프로그램 풀 큐가 꽉 찬 경우, 정확한 값을 알 수는 없으나 Web Service의 Current ISAPI Extension Requests 성능 카운터를 이용하여 특정 사이트를 모니터링할 수 있습니다
[IIS] ISAPI Extension 개요
http://community.365managed.com/?document_srl=1413
아래 방법은 Current ISAPI Extension Request의 값이 특정 수치를 초과 하게 될 경우 Event log에 메시지가 생성 되게 하는 것입니다.
아래 방법은 Current ISAPI Extension Request의 값이 255를 초과 할 경우 응용프로그램 Event에 2031이 생성되게 설정 하는 방법을 정리 한 것입니다.
위 값을 초과 할 경우 아래와 같은 이벤트가 발생
=> 아래 내용은 어제 테스트 했던 샘플 입니다. 참고 하시기 바랍니다
이벤트 형식: 정보
이벤트 원본: SysmonLog
이벤트 범주: 없음
이벤트 ID: 2031
날짜: 2011-03-22
시간: 오후 6:29:32
사용자: N/A
컴퓨터: xxxxxxx
설명:
카운터: xxxxxxxxxx Service(dmcedu)\Current ISAPI Extension Requests이(가) 경고 임계값을 xx로 했습니다. x의 카운터값이 높, x의 제한값입니다.
[참고 사이트]
응용 프로그램 풀 큐 길이 제한 구성
http://technet.microsoft.com/ko-kr/library/cc783466(WS.10).aspx