BUG: ISAPI 응용 프로그램 및 인터넷 정보 서비스 6.0에서 호스트 되는 CGI 응용 프로그램 응답 전송 성능 저하 발생

중요: 이 문서에는 레지스트리 수정 방법에 대한 정보가 있습니다. 수정 하기 전에 레지스트리를 백업 해야 합니다. 문제가 발생할 경우 레지스트리를 복원하는 방법을 알고 있는지 확인하십시오. 백업, 복원 및 레지스트리 수정 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭합니다.
256986 Microsoft Windows 레지스트리 설명

증상

Inetrnet 서버 응용 프로그램 프로그래밍 Interface(ISAPI) 응용 프로그램 또는 Common Gateway Interface (CGI) 응용 프로그램에 Microsoft 인터넷 정보 서비스 (IIS) 6.0 호스팅되는 응답을 전송 하는 경우 성능 저하를 발생할.

ISAPI 응용 프로그램 또는 CGI 응용 프로그램에서 Microsoft 인터넷 정보 서비스 (IIS) 5.0 호스팅되는 응답을 전송 하는 경우이 문제가 발생 하지 않습니다.

원인

HttpSendHttpResponse API를 통해 진행 되 고 있는 대 한 기본 버퍼 크기 때문에이 문제가 발생 합니다. CGI 응용 프로그램에서 IIS 6.0에서 호스팅되는 작게 하 고 ISAPI 응용 프로그램에서 보낸 응답 포함 하지만 자주 보냅니다.

해결 방법

경고 레지스트리 편집기를 사용하거나 다른 방법을 사용하여 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 이러한 문제는 운영 체제를 다시 설치 할 수 있습니다. Microsoft는 이러한 문제에 대한 해결책을 보장할 수 없습니다. 사용자는 스스로 위험을 감수하고 레지스트리를 수정해야 합니다.

이 문제를 해결 하려면 MaxBufferedSendBytes 항목을 레지스트리에 추가 합니다. 레지스트리에 MaxBufferedSendBytes 항목을 추가 하려면 다음과이 같이 하십시오.
  1. 시작 실행을 차례로 누르고 Regedit를 입력 한 다음 확인을 누릅니다.
  2. 다음 레지스트리 키를 찾아 클릭합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. 매개 변수를 마우스 오른쪽 단추로 클릭 하 고 새로 만들기를 가리킨 다음 DWORD 값을 클릭 합니다.
  4. MaxBufferedSendBytes입력 하 고 enter 키를 누릅니다.
  5. MaxBufferedSendBytes마우스 오른쪽 단추로 클릭 하 고 수정을 클릭 합니다.
  6. 값 데이터 상자에 65536입력 한 다음 확인을 누릅니다.
  7. 레지스트리 편집기를 종료합니다.
  8. 시작, 실행을 클릭하고, cmd를 입력한 다음, 확인을 클릭합니다.
  9. 명령 프롬프트에서 net stop http를 입력 합니다.
  10. 명령 프롬프트에서 iisreset /restart를 입력 합니다.
참고: 다음이 단계를 사용 하 여이 문제를 해결 하려면 Microsoft Windows Server 2003 서비스 팩 1이 설치 되어 있어야 합니다.

상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열한 제품에서 버그를 확인했습니다.

자세한 내용

IIS 6.0의 기본 버퍼 크기는 HTTP 프로토콜 스택 (HTTP.sys) 자주 응답을 전송 하 고 최대 세그먼트 크기를 사용 하지 않는 패킷에 응답을 보내려고 하면. 예를 들어, 최대 세그먼트 크기 1,460 바이트 이면 네트워크 모니터에서 다음과 유사한 추적 정보가 나타날 수 있습니다.
TCP: Control Bits: .A...., len: 1460, seq: 806718019-806719479, ack:1984105268, win:65459, src:   80  dst: 2032TCP: Control Bits: .AP..., len:  588, seq: 806719479-806720067, ack:1984105268, win:65459, src:   80  dst: 2032
TCP: Control Bits: .AP..., len: 1024, seq: 806720067-806721091, ack:1984105268, win:65459, src: 80 dst: 2032
데이터 패킷을 작은 자주 보내는 있기 때문에 네트워크 대기 시간 때문에이 문제는 더욱 두드러집니다. 이 문제는 인트라넷 환경에서 덜 눈에 띄는 수 있습니다.

MaxBufferedSendBytes 항목의 기본값은 8192 바이트입니다. MaxBufferedSendBytes 항목의 값을 64kb로 설정 하면 HTTP.sys는 최대 세그먼트 크기를 사용 하 여 패킷을 보냅니다.

참고: 이 변경 커널 NonPagedPool 메모리 사용량이 증가합니다.

참조

WriteClient API를 통해 HTTP 데이터 응답을 보내면 IIS 6.0의 성능 문제에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭.

840875 버그: WriteClient API를 사용 하 여 데이터를 보내는 경우 IIS 6.0은 IIS 5.0 보다 느립니다

성능에 대 한 자세한 내용은 Windows 소켓 API를 사용할 때 문제가 발생 한다 TCP 서버로 데이터를 복사, Microsoft 기술 자료의 다음 문서 번호를 클릭 하는 프로그램.

Windows 소켓 API 프로그램을 사용 하 여 TCP 서버로 데이터를 복사 하면 823764 성능 저하 발생

속성

문서 ID: 906977 - 마지막 검토: 2017. 2. 7. - 수정: 1

피드백