Compartir a través de


Limitación de CPU de IIS 8.0: sitios y aplicaciones de espacios aislados

por Shaun Eagan

Compatibilidad

Versión Notas
IIS 8.0 La limitación de CPU se actualizó en IIS 8.0 para incluir opciones de limitación adicionales.
IIS 7.5 La limitación de CPU no se modificó en IIS 7.5.
IIS 7.0 La limitación de CPU se introdujo en IIS 7.0.

Problema

En una implementación multiinquilino, como un entorno de hospedaje compartido, es importante crear un entorno de pruebas para cada inquilino. Sin el entorno de pruebas, un inquilino podría, intencionadamente o no, afectar negativamente a otros inquilinos accediendo a los contenidos de otros inquilinos o monopolizando recursos, como memoria, CPU y ancho de banda.

Solución

En Internet Information Services (IIS) en Windows Server 2012, el entorno de pruebas tiene como ámbito un grupo de aplicaciones de IIS. Ofrece ambos límites de seguridad en el nivel de proceso de Windows mediante la ejecución de cada inquilino en una identidad de usuario independiente y las limitaciones de recursos también se aplican en el proceso.

En Windows Server 2012, la característica de limitación de CPU de IIS permite a los clientes limitar realmente la cantidad de CPU que cada inquilino puede consumir como porcentaje de CPU. Además, esta característica se puede configurar por grupo de aplicaciones de IIS, lo que significa que cada inquilino podría tener límites diferentes, lo que puede dar lugar a un nuevo modelo de negocio en el que los inquilinos pueden pagar más por límites más altos.

Es importante aclarar que la limitación de CPU de IIS no es una reserva de un recurso de CPU. En su lugar, es una manera de limitar el uso máximo.

Habilitación de la autenticación de Azure Active Directory Domain Services en Azure Files

Requisitos previos:

  • IIS está instalado en Windows Server 2012.

    • La limitación de CPU de IIS forma parte de la configuración del grupo de aplicaciones de IIS. Por lo tanto, una instalación predeterminada de IIS tendrá instalada esta característica. No hay ninguna característica de IIS específica que deba instalarse desde el Administrador del servidor.
  • Hay al menos un sitio con un grupo de aplicaciones IIS correspondiente.

    • El sitio web predeterminado y DefaultAppPool se pueden usar para este ejercicio.

Soluciones alternativas para errores conocidos:

En este momento no hay errores conocidos para esta característica.

Configuración de la limitación de CPU

  1. Abra Administrador de IIS.

  2. Seleccione grupos de aplicaciones en la ventana de navegación izquierda:
    Screenshot showing the connections pane with Application Pools highlighted.

  3. Seleccione DefaultAppPool:
    Screenshot showing the Applications Pools page with DefaultAppTool highlighted.

  4. En el panel Acciones, seleccione Configuración avanzada:
    Screenshot of the Actions pane with Advanced Settings highlighted.

  5. En Grupo de CPU, busque las siguientes configuraciones:
    Screenshot of the Advanced Settings dialog. The CPU section is highlighted.

    • Limit: indica el uso máximo de CPU (en milésimas de porcentaje) para este grupo de aplicaciones. Si hay varios procesos asociados a este grupo de aplicaciones, el límite se aplica a la suma total de todos los procesos de este grupo de aplicaciones.

    • LimitAction: indica qué acción realizar cuando se cumple el valor de límite anterior.

      • Para Windows Server 8, se han agregado nuevas acciones, Throttle y ThrottleUnderLoad:
        Screenshot of the Advanced Settings dialog. Limit Action is set to Throttle.
      • Throttle: la característica limitará el consumo de CPU al valor establecido en Límite.
      • ThrottleUnderLoad: la característica limitará el consumo de CPU al valor establecido para Límite, pero solo si hay una contención en la CPU. Esto significa que el grupo de aplicaciones puede consumir más actividad de CPU cuando la CPU está inactiva.
    • LimitInterval: no se usa para Throttle ni ThrottleUnderLoad. Este atributo de configuración se lleva a cabo desde versiones anteriores de Windows por motivos de compatibilidad con versiones anteriores.

  6. Para establecer el límite máximo del 30 %, escriba:

    1. Limit: 30000 (30 % en milésimas)
    2. LimitAction: limitación
      Screenshot of the Advanced Settings dialog. Limit is highlighted.
  7. Eso es. Con una herramienta de generación de carga, envíe solicitudes al sitio web predeterminado. Se puede usar una herramienta como WCAT (https://www.iis.net/community/default.aspx?tabid=34& g=6&i=1467) para generar tráfico.

  8. Tenga en cuenta que las opciones de configuración en cuestión se pueden establecer como valores predeterminados para que no tengan que configurarse individualmente por grupo de aplicaciones. Para configurar los valores predeterminados del grupo de aplicaciones, seleccione Establecer valores predeterminados del grupo de aplicaciones en el panel Acciones:
    Screenshot of the Actions pane. Set Application Pool Defaults is highlighted.

  9. Las mismas opciones se exponen allí para configurar los valores predeterminados del grupo de aplicaciones:
    Screenshot of the Application Pool Defaults dialog. CPU Limit is highlighted.

Escenarios

Pruebe a implementar los escenarios siguientes:

  • La característica de limitación de CPU de IIS está diseñada para un entorno multiinquilino. Pruebe esta configuración en un entorno donde hay miles de sitios y aplicaciones, como una implementación de hospedaje compartida.
  • Establezca límites diferentes para distintos "grupos" de inquilinos para simular los clientes que pueden consumir más recursos de CPU que otros.
  • Establezca ThrottleUnderLoad como LimitAction para observar el comportamiento. Funciona como Throttle, si hay contenciones en la CPU. Si no hay contenciones en la CPU, el grupo de aplicaciones puede usar más recursos de CPU que el valor establecido en Límite.
  • Cree un entorno de prueba con límites de memoria y ancho de banda, junto con la característica limitación de CPU de IIS en Windows Server 2012. Los límites de memoria y ancho de banda no se describen específicamente en esta documentación porque estas características existen en Windows Server 2008 y Windows Server 2008 R2.

Resumen

Ha explorado correctamente la característica de limitación de CPU de IIS en Windows Server 2012.