2005/11/07

IIS튜닝 - 연결 시간 제한을 통한 네트워크 연결세션 확보

연결 시간 제한을 사용하면 유휴 연결에 소모되는 리소스 처리 손실을 줄일 수 있다. 물론 연결이 적은 서버의 경우 연결이 가능한 자원이 넉넉하므로 효과를 체감하기는 어렵다.

대량 접속 서버에서 연결 시간 제한을 설정하면 네트워크 자원 활용도를 상당히 높일수 있다. IIS는 연결 수준에서 다음 유형의 연결 시간 제한이 적용된다.

 연결시간 제한 유형
제한유형 설명
연결 시간 제한 클라이언트가 서버에 실제로 데이터를 보냈지만 현재 유휴 상태인 경우
서버 수신 시간 제한 서버에 대한 연결이 설정되었지만 클라이언트가 데이터를 전송하지 않은 경우
응답 시간 제한 구성 가능한 초당 최소 바이트 값을 기준으로 함
요청 시간 제한 클라이언트가 서버에 이유 없는 느린 요청(예: 1비트/초)을 발행하지 못하도록 함

120초로 설정할경우 최초 연결후 어떠한 서버와 클라이언트간 작업이 없더라도 120초동안 CLOSE_WAIT 상태로 연결을 유지하고 있다.  이 상태는 서버쪽 포트를 점유하고 있는 상태이다.

이 연결시간이 짧게 설정한다고해서 좋은 것은 아니다. 짧은 연결시간 제한은 연결이 끊긴후 재연결에 따는 추가적인 리소스 소모가 유휴상태에서의 재연결보다 많기 때문이다.



웹 전용서버의 경우 성능모니터 카운터값에서 Web Service\Currnet Connections의 연결수와, TCP\Connections Established 비슷한 값을 가지고 있으며 연결시간제한을 낮출경우 카운터 값도 같이 낮아져 실제 서버에 연결하는 네트워크 세션수를 줄여 추가적인 연결을 위한 자원을 확보할수 있다.




Adsutil.vbs set W3SVC/ConnectionTimeout "120"



06-ConnectionTimeouts.gif
06-ConnectionTimeouts_Perf.gif

댓글 없음:

댓글 쓰기

가장 많이 본 글