Optimizar Servicios de Internet Information Server 5.0

Seleccione idioma Seleccione idioma
Id. de artículo: 305313 - Ver los productos a los que se aplica este artículo
Recomendamos encarecidamente que todos los usuarios se actualicen a la versión 6.0 de Servicios de Microsoft Internet Information Server (IIS) de Microsoft Windows Server 2003. IIS 6.0 aumenta considerablemente la seguridad de la infraestructura Web. Para obtener más información acerca de temas relacionados con la seguridad de IIS, visite el siguiente sitio Web de Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Expandir todo | Contraer todo

En esta página

Resumen

La información de este artículo procede de: Microsoft Press.

En este artículo se explica cómo optimizar Microsoft Internet Information Server 5.0. Esta información se basa en una recopilación del libro Internet Information Services Resource Guide del Microsoft Windows 2000 Server Resource Kit, capítulo 4: "Capacity Planning" y capítulo 5: "Monitoring and Tuning Your Server". Más información sobre Kit de recursos de Microsoft Windows 2000 Server.

Más información

¿Cómo se obtiene el máximo rendimiento de un sitio Web? Si va a administrar sitios Web y aplicaciones que se ejecutan en Microsoft Windows 2000 Server y en Servicios de Internet Information Server 5.0, posee los elementos básicos para tener un sitio muy eficaz que pueda tratar miles de transacciones simultáneas. Pero aunque la plataforma sea grande, no se obtiene necesariamente un gran rendimiento. Si tiene cualquiera de estos problemas: los usuarios notifican que las conexiones con el sitio son lentas; los equipos se bloquean indefinidamente durante el proceso de atender solicitudes de páginas; o necesita pedir a sus proveedores presupuestos de servidores con más capacidad de memoria y de procesamiento; primero tiene que saber qué factores afectan al rendimiento del sitio y cómo se optimiza IIS 5.0 para que la producción sea máxima.

En este artículo, se explica cómo utiliza IIS 5.0 los recursos del sistema y cómo se puede ajustar para obtener un rendimiento mayor. Puede encontrar más información sobre este tema en el libro de Microsoft Press, Guía de recursos de Servicios de Internet Information Server 5.0 de Microsoft, que es uno de los volúmenes del Kit de recursos de Microsoft Windows 2000. Este volumen muestra detalladamente la forma de realizar los ajustes necesarios para obtener el máximo rendimiento del sitio Web. Pero en este artículo se proporciona información suficiente para empezar.

Orígenes del bajo rendimiento de un sitio Web

¿Cuáles son las causas de que un sitio Web sea lento? Esta pregunta tiene un gran número de respuestas, pero todas ellas conducen a unas pocas causas probables:
  • La configuración del hardware en que se ejecuta el sitio Web
  • La configuración del software del servidor Web
  • El ancho de banda de la conexión a Internet
  • El diseño y la configuración de las aplicaciones Web
  • Las características de los equipos de los usuarios y de sus conexiones
El problema estriba en que, si es administrador de Web, no tiene el control de todos estos factores. El ancho de banda de la conexión a Internet está determinada probablemente por el presupuesto. Es probable que tenga poca influencia en el diseño de las aplicaciones Web, aunque sean de creación propia. Y, por supuesto, no tiene el control de los usuarios. Dicho esto, se pueden hacer todavía muchas cosas. Empecemos con el servidor.

Optimización del servidor

:la optimización del rendimiento del servidor Web requiere básicamente conseguir la configuración óptima de memoria, procesador, disco duro y entrada/salida de red. Aunque pueda ser de la opinión de que en todos los casos más es igual a mejor, la realidad es mucho más compleja.

Memoria

: ¿Desea optimizar su servidor? ¡Sólo tiene que aumentar su memoria! ¿No es eso lo que dice todo el mundo? Si tiene un problema de rendimiento, la solución está en aumentar la memoria RAM ¿verdad? De ser este el caso, este artículo podría finalizarse ya. La realidad es que, hasta un determinado punto, el aumento de memoria es una ayuda; de hecho, muchas situaciones que aparentan deberse a cuellos de botella del procesador o del disco son provocadas realmente por problemas de memoria. Pero aparte de esta consideración, el aumento de memoria no tiene más ventajas. Sin embargo, la optimización de la memoria es el primer medio, y en ocasiones el más fácil, para aumentar el rendimiento de IIS.

Es importante recordar que IIS se ejecuta en Windows 2000 Server y hereda su administración de memoria. Esto significa que una optimización de memoria, por pequeña que sea, surte efecto automáticamente. Windows 2000 Server ajusta la cantidad de memoria disponible para procesos y subprocesos; también ajusta el tamaño de la memoria caché, de la memoria del bloque de memoria paginada y no paginada, y de los archivos de paginación para proporcionar un rendimiento óptimo. Cuando optimiza la memoria disponible para IIS, no sólo está intentando seleccionar la cantidad de memoria que se ha de asignar a cada proceso, subproceso o almacenamiento en caché, sino que también está determinando si Windows 2000 tiene suficiente memoria disponible para realizar todo el ajuste automático de que es capaz.

¿Cómo puede saber si el servidor tiene suficiente memoria? Empecemos analizando por qué un servidor Web de IIS 5.0 utiliza memoria. Windows 2000 Server controla la memoria asignando a cada proceso un correspondiente fragmento de memoria que se conoce como conjunto de trabajo. En casi todos los casos, los subprocesos individuales de un proceso utilizan segmentos de memoria que se asignan desde dicho conjunto de trabajo. Cuando un proceso crece, Windows 2000 agrega más memoria a su conjunto de trabajo para satisfacer sus necesidades. La mayor parte de la memoria asignada es paginable, es decir, los datos pueden almacenarse temporalmente en disco y recuperarse de la memoria RAM cuando se necesitan. Sin embargo, algunos subprocesos, tales como las conexiones TCP/IP, requieren memoria no paginable, es decir, memoria RAM activa, y no un archivo almacenado en disco. Según aumenta el número de conexiones y se acumulan otras demandas de memoria no paginable, el sistema puede quedarse sin memoria disponible, lo que le impide asignar más memoria. Esta situación puede ocasionar el bloqueo del sistema; de hecho, así es como funcionan algunos ataques de negación de servicio.

IIS 5.0, al igual que todo lo que se ejecuta en Windows 2000 Server, es un proceso: inetinfo.exe. Por tanto, tiene un conjunto de trabajo. El conjunto de trabajo que pertenece a IIS incluye espacio para el código del programa, las conexiones TCP/IP activas, la memoria de almacenamiento de objetos de IIS, los archivos de registro de IIS y las estructuras de datos de conexiones HTTP. El código del programa puede consumir hasta 2,5 MB de memoria RAM, y el tamaño de los demás elementos del conjunto de trabajo varía en función del número de usuarios que están conectados simultáneamente (aproximadamente 10 KB por cada conexión TCP/IP, más la parte correspondiente a los datos HTTP) y del número de sitios Web alojados en el servidor (archivo de registro asignado en memoria de 64 KB por sitio, como mínimo). Además del conjunto de trabajo de inetinfo.exe, IIS utiliza la caché de plantillas de IIS, la caché del motor de secuencias de comandos de IIS y la caché del sistema de archivos de IIS, tres memorias caché que, de forma predeterminada, están fuera de inetinfo.exe, pero que se pueden configurar para ejecutarse desde dentro. IIS utiliza también la tabla hash del bloque de control de transporte (TCP) y un conjunto de subprocesos para la ejecución de código. Estos elementos, que son externos a inetinfo.exe, deben estar en memoria no paginada; por tanto, es absolutamente necesario disponer de suficiente memoria RAM para darles cabida.

Puede utilizar los contadores disponibles en el Monitor de rendimiento para realizar el seguimiento de la memoria utilizada por el sistema y por inetinfo.exe. El capítulo 5 de la Guía de recursos de IIS 5.0, "Monitoring and Tuning Your Server", incluye una extensa lista de contadores. A continuación se relacionan algunos de los más importantes:
  • NombreDeEquipo\Memoria\Bytes disponibles - Este contador realiza el seguimiento de la cantidad total de memoria disponible en el sistema. El sistema operativo intenta conservar este valor por encima de 4 MB. Una medida mejor para que el rendimiento sea óptimo es el 5% de la memoria RAM total.
  • NombreDeEquipo\Proceso\Conjunto de trabajo: Inetinfo - Este contador realiza el seguimiento de la cantidad de memoria utilizada por inetinfo.exe. Sólo obtiene el valor más reciente, pero si se observa la evolución a lo largo del tiempo, puede tener una imagen de la memoria utilizada por IIS.
  • NombreDeEquipo\Proceso\Errores de página/segundo: Inetinfo - Este contador realiza el seguimiento del número de veces por segundo que el servidor tiene que paginar segmentos de inetinfo.exe en disco. Lo deseable es que este número sea lo más pequeño posible.
En general, lo que busca es una imagen de la cantidad de memoria utilizada por todo el servidor y la cantidad de memoria utilizada sólo por IIS. Como mínimo, lo deseable es tener suficiente memoria para que la totalidad del archivo inetinfo.exe pueda almacenarse en RAM y no en disco, y suficiente memoria RAM para ejecutar las cachés y otros elementos no paginables fuera del conjunto de trabajo. Además, es necesario prever las necesidades de memoria de las aplicaciones Web que va a ejecutar. Por ejemplo, la mayor parte de los servidores Web de Microsoft tienen al menos 512 MB de memoria RAM disponibles para las aplicaciones Web. Por último, debe tener previsto que haya suficiente memoria RAM en el sistema para almacenar en memoria todas las páginas estáticas del sitio Web para, de este modo, recuperarlas y servirlas con mayor rapidez. Si supervisa el uso de memoria del equipo a lo largo del tiempo y en condiciones de carga, podrá saber la cantidad de memoria RAM que debe tener el sistema.

Procesador

: una vez optimizada la memoria, probablemente observe que todo funciona con mucha más rapidez. Pero puede hacer más: el procesador es otro posible cuello de botella. No obstante, la razón de optimizar primero la memoria es precisamente para no confundir los problemas de memoria con los problemas del procesador. Por ejemplo, si el servidor no tiene suficiente memoria, es posible que emplee mucho tiempo almacenando subprocesos en disco; todo este tiempo se añade a la carga del procesador y puede parecer que la raíz de las dificultades es la sobrecarga del procesador.

Una vez más, el Monitor de rendimiento puede revelar lo que es necesario saber. Aunque hay varios contadores que se encargan de la supervisión (consulte de nuevo el capítulo 5 de la Guía de recursos), el más crítico es Sistema\ Longitud de la cola del procesador. Este contador notifica el número de subprocesos que están a la espera de que el procesador quede disponible. Si este contador registra más de 2 durante períodos prolongados de tiempo, posiblemente exista un cuello de botella en el procesador.

En los servidores con varios procesadores, que se están convirtiendo en la norma, hay que considerar otro aspecto: el equilibrio de la carga de los procesadores. Un sistema en el que un procesador tiene una ocupación del 100% mientras los demás procesadores están inactivos, sigue teniendo un cuello de botella, aunque la lectura del contador Sistema\% de tiempo de procesador sea más baja, porque este contador registra el valor medio de todos los procesadores del sistema, de forma predeterminada. Para tener una imagen correcta, debe ejecutar Sistema\% de tiempo de procesador para cada procesador individual.

Si las pruebas determinan que tiene un problema de procesador, la primera opción es, por supuesto, actualizarlo o adquirir un equipo con varios procesadores. Si actualiza el procesador, asegúrese de que tenga el tamaño máximo de caché L2; IIS se beneficia de esto porque muchas de las rutas de instrucciones afectan a varios componentes, con lo que la ejecución en la memoria caché será mucho más rápida. La Guía de recursos de IIS 5.0 proporciona varios indicadores más para optimizar el procesador.

Disco duro

: puede hacer varias cosas en la configuración del disco duro del servidor para obtener un uso más eficiente. Como el disco duro es el repositorio de la memoria paginada, la forma en que el servidor trata los archivos de paginación requiere una consideración importante. Analicemos este y otros indicadores:
  • Aumente el tamaño de los archivos de paginación. Lo ideal es tener un archivo de paginación principal cuyo tamaño sea, por lo menos, el doble del tamaño de la memoria RAM del sistema más 1 MB. El equipo necesita este espacio para realizar un volcado de memoria principal en caso de producirse un bloqueo.
  • Aumente el número de archivos de paginación. De forma predeterminada, hay un archivo de paginación, pero puede y debe configurar un archivo de paginación en cada disco duro asociado al sistema.
  • Utilice la creación de bandas en disco para mejorar el rendimiento del archivo de paginación. Si coloca el archivo de paginación principal en un conjunto de bandas (RAID 0) o en un conjunto de bandas con paridad (RAID 5), observará cómo el rendimiento del disco de paginación aumenta de forma radical.
  • Almacene los archivos de registro en un disco distinto de aquél en que están las páginas Web. Esto evita que el subproceso de registro del disco interfiera con los subprocesos de recuperación de páginas Web.
  • Optimice el almacenamiento de páginas Web. Todas las páginas Web relacionadas del sitio deben almacenarse juntas en la misma partición lógica; esta disposición mejora el rendimiento de la memoria caché del sistema de archivos. También debe mantener los archivos de la página Web desfragmentados; de este modo, mejora sustancialmente la velocidad de lectura de un archivo individual.

Opciones de configuración del servidor

Además de las optimizaciones del hardware, la configuración del software del servidor puede afectar enormemente al rendimiento. En este caso, lo fundamental es la "reducción de velocidad". Obtendrá una excelente ayuda sobre este tema en Microsoft Windows 2000 Server and IIS 5.0 Administrator's Pocket Consultant, una referencia rápida muy buena de Microsoft Press. ¿Está el servidor Web dedicado exclusivamente a IIS? Si no es así, es necesario corregir algunas cosas. Si va a utilizar el servidor Web para otros servicios de red, no lo haga. Coloque estos servicios en otro equipo y dedique el servidor de IIS sólo a Web. Una vez decidido, le proponemos el conjunto de servicios con más posibilidades de dejar de ejecutarse en ese equipo:
  • Servicio de alerta
  • Portafolios
  • Examinador de equipos
  • Cliente DHCP
  • Servidor DHCP
  • Servicio de fax
  • Replicación de archivos
  • Monitor de infrarrojos
  • Conexión compartida a Internet
  • Messenger
  • Escritorio remoto compartido de NetMeeting
  • DDE de red
  • DSDM de DDE de red
  • NetBIOS de NWLink
  • NWLink IPX/SPX
  • Cola de impresión
  • Servicio de ayuda TCP/IP NetBIOS
  • Telefonía
  • Telnet
  • Sistema de energía ininterrumpida
Por supuesto, antes de interrumpir cualquiera de estos servicios, debe asegurase bien de que realmente no son necesarios.

También puede optimizar otros aspectos de la configuración del servidor. Por ejemplo, IIS 5.0 utiliza hasta el 50% de la memoria del servidor de forma predeterminada. Este valor predeterminado permite dar cabida a otras aplicaciones cuya ejecución en el servidor pudiera ser necesaria. Sin embargo, si va a dedicar el servidor a IIS y va a quitar servicios innecesarios, puede aumentar realmente este porcentaje creando y estableciendo la entrada MemCacheSize en el Registro de Windows. Otro valor que puede ajustar son las propiedades de Optimización del servidor en la opción Compartir impresora del menú Archivo: establezca este valor en "Maximizar el rendimiento para aplicaciones de red" y el servidor mantendrá de forma preferente inetinfo.exe en la memoria RAM, en lugar de almacenarlo en el disco cuando la memoria caché del sistema de archivos necesite más espacio. Otro valor que también puede ajustar es la longitud máxima de la cola de conexión para Mantenimiento de conexiones HTTP abiertas; aumentando el valor predeterminado de 15, puede ampliar el número de clientes que pueden mantener conexiones HTTP abiertas en el servidor entre sesiones; esto contribuye a reducir el número de conexiones nuevas que deben generarse. Tanto la Guía de recursos como Administrator's Pocket Consultant incluyen más valores del sistema que puede ajustar para optimizar la configuración.

NOTA
Si el servidor de IIS es un miembro de un dominio, es necesario que el servicio de ayuda TCP/IP NetBIOS aplique correctamente la directiva de grupo al equipo.

Optimización del ancho de banda de red

No hay demasiado que decir sobre la optimización de la entrada/salida de red porque lo cierto es que la mayoría de las organizaciones compran todo el ancho de banda que pueden permitirse; todo el mundo sabe que cuanto mayor es el ancho de banda que se tiene, mayor es el número de clientes que puede atender el sitio Web. La mayoría de las veces, el ancho de banda es un gasto continuo considerable que supone un problema presupuestario que supera cualquier control. Sin embargo, debe saber que la Guía de recursos incluye información sustancial sobre cómo se utiliza el Monitor de rendimiento para realizar el seguimiento del uso del ancho de banda de la red del sitio Web. Un análisis de si el servidor está utilizando bien su ancho de banda disponible puede indicar la necesidad o no de comprar más ancho de banda.

Optimización de las aplicaciones Web y páginas Web

Una vez que ha aprovechado al máximo el hardware y el software, y comprado todo el ancho de banda que puede permitirse, ¿qué más puede hacer? Una parte muy importante depende del grado de influencia que tenga sobre el diseño del sitio Web. Si controla la forma de crear el sitio Web, puede implementar personalmente las siguientes recomendaciones; en caso contrario, considérelas como sugerencias que aportar a los desarrolladores del sitio Web y al equipo de dirección.

Lo primero que hay que hacer es analizar el contenido del sitio Web y pasar tanto como sea factible del mismo a HTML estático. Aunque lo deseable es mantener interacciones dinámicas con el usuario, observará con frecuencia que muchas páginas se crean innecesariamente mediante secuencias de comandos, cuando el almacenamiento de unas pocas variaciones estáticas serviría para satisfacer las diferentes necesidades de los usuarios. El HTML estático se atiende con mayor rapidez y facilidad que cualquier otro contenido porque no requiere procesamiento por parte del servidor.

Una vez conseguido un procesamiento de servidor excelente, lo siguiente que hay que hacer es reducir la cantidad de tiempo que el servidor emplea en procesar secuencias de comandos y datos para generar páginas dinámicas. Gracias a esta medida, el consumidor más voraz de procesamiento de servidor es la CGI; las secuencias de comandos de CGI absorben más recursos de procesamiento que ASP, y ASP absorbe más recursos de procesamiento que ISAPI. Por tanto, en la medida de lo posible, conviene convertir las secuencias de comandos de CGI en ASP, y siempre que pueda convertir ASP en ISAPI, hágalo.

A continuación se enumeran algunas sugerencias más:
  • Desactive la depuración de aplicaciones. La depuración ralentiza mucho el sitio Web.
  • Establezca el encabezado Expire en todas las imágenes y páginas Web estáticas. Esto permite que los clientes y los servidores proxy almacenen en caché el contenido, con lo que se reduce el número de nuevas solicitudes al servidor.
  • Habilite el almacenamiento en caché de aplicaciones ISAPI. Esta estrategia coloca las aplicaciones ISAPI frecuentemente utilizadas en memoria, donde el acceso es más rápido.
  • Habilite el almacenamiento en caché de los resultados de ASP, si es posible.
  • Desactive la administración de sesiones y vuelva a activarla sólo para los servicios que utilizan realmente sesiones. De forma predeterminada, la administración de sesiones está activada para todos los servicios; si las aplicaciones no la utilizan, está desperdiciando recursos. Además, establezca un valor apropiado de tiempo de espera de sesiones.
  • Establezca secuencias de comandos y tiempos de espera de conexión apropiados para asegurarse de que las secuencias de comandos inestables y las conexiones abiertas no agotan los recursos del servidor.
  • Reduzca el tamaño del contenido. Asegúrese de que el código HTML y ASP está limpio y es código simple, y no está demasiado congestionado con excesivos comentarios y etiquetas redundantes. Comprima los archivos de vídeo, sonido e imágenes. Cuanto menor es el tamaño de una página, mayor es la velocidad de entrega.
  • Diseñe las aplicaciones ASP o ISAPI de modo que la mayor parte posible del procesamiento se realice en el cliente, lo que contribuye a minimizar el uso de los recursos del servidor.
  • Diseñe la interactividad con el cliente de modo que se utilice el menor número posible de lecturas y escrituras entre cliente y servidor. Por ejemplo, es preferible una consulta grande para un conjunto completo de registros que varias consultas pequeñas para unos pocos registros o campos a la vez; igualmente, los datos especificados por el usuario deben transmitirse, en la medida de lo posible, todos de una vez, en lugar de enviar al servidor por separado cada unidad de datos.

Soluciones de Microsoft Press

¡Uf! Puede ver que tiene una gran cantidad de trabajo por hacer para optimizar plenamente el rendimiento del servidor Web de IIS 5.0. Afortunadamente, Microsoft Press pone a su disposición una dosis considerable de ayuda. Los libros de Microsoft Press le ayudarán a comprender los parámetros de rendimiento del sistema y la forma de aumentar al máximo el rendimiento del servidor. Compruebe estos títulos:
  • Microsoft Internet Information Services 5.0 Resource, que es un volumen del Microsoft Windows 2000 Resource Kit (véase más adelante), contiene todo lo que necesita saber acerca de cómo supervisar y ajustar el rendimiento del sistema. Revise el capítulo 5, "Monitoring and Tuning Your Server" y el capítulo 4, "Capacity Planning".
  • Microsoft Windows 2000 e IIS 5.0 Administrator's Pocket Consultant es una excelente referencia rápida para los administradores de sistemas. Pocket Consultant le proporcionará una orientación rápida para realizar tareas relacionadas con la administración de sistemas. Consulte el capítulo 12, "IIS Optimization and the Metabase", si desea sugerencias sobre la forma de ajustar el rendimiento del servidor Web.
  • Microsoft Windows 2000 Performance Tuning Technical Reference proporciona información completa sobre el ajuste del rendimiento para Windows 2000. Consulte el capítulo 14, especialmente si desea información sobre el ajuste de Windows 2000 Server para Internet.
Para finalizar, todos los administradores del sistema que trabajen con IIS 5.0 y Windows 2000 deben tener las referencias y los tutoriales básicos de Windows 2000:
  • Microsoft Windows 2000 Server Administrator's Companion describe detalladamente la forma de instalar, configurar, administrar y dar soporte a Windows 2000 Server, incluida la Red privada virtual (VPN). (Consulte el capítulo 31).
  • MCSE Training Kit: Microsoft Windows 2000 Server es la guía de preparación oficial de Microsoft Press para el examen de Windows 2000 Server (70-215). Este libro muestra la forma de instalar y dar soporte a Windows 2000 Server. La explicación de VPN se encuentra en el capítulo 10, "Servicio de enrutamiento y acceso remoto".
  • Microsoft Windows 2000 Server Resource Kit contiene la referencia completa de Microsoft para Windows 2000 Server. Este conjunto de siete volúmenes está formado por las siguientes guías:
    • Server Operations Guide
    • Guía de sistemas distribuidos
    • TCP/IP Core Networking Guide
    • Internetworking Guide
    • Guía de diseño de la distribución
    • Guía de recursos de Servicios de Internet Information Server 5.0
    • Kit de recursos de Internet Explorer 5

Para obtener una lista completa de los títulos de aprendizaje y formación de Windows 2000 de Microsoft Press, visite la sección de Windows 2000. Si desea material relacionado con .NET Enterprise Servers, vea la sección de .NET.

Referencias

La información de este artículo es un extracto del libro Kit de recursos de Windows 2000 Server, publicado por Microsoft Press.

Contraer esta imagenAmpliar esta imagen
Imagen del libro Kit
		  de recursos de Windows 2000 Server


Más información sobre Kit de recursos de Microsoft Windows 2000 Server

Para obtener más información acerca de esta publicación y otros títulos de Microsoft Press, visite http://mspress.microsoft.com.

Propiedades

Id. de artículo: 305313 - Última revisión: miércoles, 24 de enero de 2007 - Versión: 4.1
La información de este artículo se refiere a:
  • Microsoft Internet Information Services 5.0
Palabras clave: 
kbgraphxlink kbhowto KB305313
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com