IIS 성능

사이트 소켓 풀링

IIS 4.0에서는 웹 사이트가 각각 다른 IP 주소에 바인드되었습니다. 즉, 각 사이트에는 고유한 소켓이 있었고, 다른 IP 주소에 바인드된 사이트와는 공유하지 않았습니다. 이러한 소켓은 각 사이트가 시작할 때 만들어지므로, 페이지가 지정되지 않은 메모리(RAM)가 매우 많이 필요합니다. 이렇게 메모리를 많이 사용하면 특정 개수의 사이트가 시작된 후 컴퓨터에서 RAM이 부족하게 될 수 있으므로 한 컴퓨터에서 작성할 수 있는 IP 주소에 바인드되는 사이트 수가 제한됩니다.

IIS 5.0에서는 다른 IP 주소에 바인드되었지만 같은 포트 번호를 공유하는 사이트에서 같은 소켓 집합을 공유하도록 변경되었습니다. 그 결과, 같은 컴퓨터의 IP 주소에 바인드될 수 있는 사이트 수가 IIS 4.0에 비해 늘어났습니다. IIS 5.1에서는 이러한 공유 소켓이 모든 시작된 사이트 간에 유연성 있게 사용되므로 리소스 소모량이 줄어듭니다.

이는 IIS 5.0의 기본 동작입니다. 일반적으로, 이 설정은 수정해서는 안됩니다. 그러나 전용 소켓이 필요한 중요한 사이트의 경우에는 DisableSocketPooling을 TRUE로 설정하여 다시 IIS 4.0 동작으로 되돌릴 수 있습니다. 이러한 변경 사항은 다른 사이트에서 계속 새로운 소켓 풀링 기능을 사용할 수 있도록 사이트 수준에서만 이루어져야 합니다.

소켓 풀링과 성능 및 보안 문제

다음과 같은 상황에서는 소켓 풀링을 사용하지 않을 수도 있습니다.

소켓 풀링으로 인해 IIS 5.1이 모든 IP 주소를 듣게 되어, 여러 네트워크를 사용하는 보안 도메인에 대한 보안 위험이 생길 수 있습니다. 또한, 대역폭 조절과 성능 조정은 모두 같은 포트(예: 포트 80)에 대해 구성된 모든 웹 사이트에 적용됩니다. 각 사이트별로 대역폭 조절을 사용하거나 성능을 조정하려는 경우에는 각 사이트는 반드시 고유의 IP 주소를 가져야 하며 소켓 풀링을 사용하지 말아야 합니다. 호스트 헤더로 사용하는 웹 사이트는 개별적으로 조정할 수 없습니다

소켓 풀링을 사용하지 않으려면 명령 프롬프트에 다음과 같이 입력합니다.

c:\inetpub\adminscripts\cscript adsutil.vbs set w3svc/disablesocketpooling true

명령 프롬프트 응답입니다.

disablesocketpooling :(BOOLEAN) True


© 1997-2001 Microsoft Corporation. All rights reserved.