Error: Experimenta rendimiento lento cuando las aplicaciones ISAPI y CGI que está alojadas en Internet Information Services 6.0 envía respuestas

Importante: Este artículo contiene información acerca de cómo modificar el registro. Asegúrese de hacer copia de seguridad del registro antes de modificarlo. Asegúrese de que sabe cómo restaurarlo si ocurre algún problema. Para obtener más información acerca de cómo hacer copia de seguridad, restaurar y modificar el registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

Síntomas

Experimenta rendimiento lento cuando las aplicaciones de Common Gateway Interface (CGI) que están alojadas en Microsoft Internet Information Services (IIS) 6.0 o aplicaciones de Internet Server Application Programming Interface(ISAPI) envían respuestas.

No experimenta este problema cuando las aplicaciones ISAPI o aplicaciones CGI que se alojan en servicios de Microsoft Internet Information Services (IIS) 5.0 envían respuestas.

Causa

Este problema se produce debido al tamaño del búfer predeterminado para los envíos que vaya a través de la API HttpSendHttpResponse. Estos incluyen respuestas enviadas desde aplicaciones ISAPI y CGI aplicaciones alojadas en IIS 6.0 y que hacen pequeñas pero envía frecuentes.

Solución

Advertencia: pueden producirse problemas graves si modifica incorrectamente el registro mediante el Editor del registro o mediante cualquier otro método. Estos problemas pueden requerir que reinstale el sistema operativo. Microsoft no puede garantizar que estos problemas puedan resolverse. Modifique el registro bajo su propio riesgo.

Para resolver este problema, agregue la entrada MaxBufferedSendBytes en el registro. Para agregar la entrada MaxBufferedSendBytes en el registro, siga estos pasos:
  1. Haga clic en Inicio, haga clic en Ejecutar, escriba Regedity, a continuación, haga clic en Aceptar.
  2. Busque y, a continuación, haga clic en la clave del registro siguiente:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. Haga clic en Parameters, elija nuevoy, a continuación, haga clic en Valor DWORD.
  4. Escriba MaxBufferedSendBytesy, a continuación, presione ENTRAR.
  5. Haga clic en MaxBufferedSendBytesy, a continuación, haga clic en Modificar.
  6. En el cuadro información del valor , escriba 65536y, a continuación, haga clic en Aceptar.
  7. Salga del Editor del registro.
  8. Haga clic en Inicio, haga clic en Ejecutar, escriba cmd y, a continuación, haga clic en Aceptar.
  9. En el símbolo del sistema, escriba net stop http.
  10. En el símbolo del sistema, escriba iisreset /restart.
Nota: Para resolver este problema siguiendo estos pasos, debe tener instalado Microsoft Windows Server 2003 Service Pack 1.

Estado

Microsoft ha confirmado que se trata de un error de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

El tamaño de búfer predeterminado en IIS 6.0 hace que la pila del protocolo HTTP (HTTP.sys) suele enviar respuestas y enviar respuestas en paquetes que no utilizan el tamaño máximo de segmento. Por ejemplo, si el tamaño máximo de segmento es de 1.460 bytes, puede ver información de seguimiento es similar al siguiente en el Monitor de red:
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
Porque los paquetes de datos son pequeños y se envían con frecuencia, este problema es más apreciable debido a la latencia de red. Este problema puede ser menos visibles en un entorno de intranet.

El valor predeterminado para la entrada MaxBufferedSendBytes es 8.192 bytes. Cuando se establece el valor de la entrada MaxBufferedSendBytes a 64 kilobytes, HTTP.sys envía paquetes que utilizan el tamaño máximo de segmento.

Nota: Este cambio aumenta el uso de la memoria NonPagedPool del núcleo.

Referencias

Para obtener más información acerca de los problemas de rendimiento en IIS 6.0 cuando envíe respuestas de datos HTTP a través de la API WriteClient, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

ERROR 840875 : es más lento que IIS 5.0 IIS 6.0 cuando se utiliza la API WriteClient para enviar datos

Para obtener más información acerca del rendimiento de problemas al usar una API de Windows Sockets se programa para copiar datos a un servidor TCP, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

823764 se produce un rendimiento lento al copiar datos a un servidor TCP utilizando un programa de API de Windows Sockets

Propiedades

Id. de artículo: 906977 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios