Cgroups Manager (Linux)

Un sitio web en un hosting compartido puede consumir todos los recursos del sistema e interrumpir el funcionamiento de otros sitios web. Esto se conoce como el problema de "noisy neighbor".

Plesk Cgroups Manager es una extensión que le ayuda a resolver este problema mediante la gestión del consumo de la CPU, RAM y ancho de banda de escritura y lectura del disco.

Para cada suscripción y recurso del sistema, Cgroups Manager le permite:

  • Establecer la cantidad máxima del recurso que puede consumir la suscripción.
  • Monitorizar la cantidad del recurso consumida por la suscripción y enviar notificaciones cuando se sobrepase un determinado nivel (umbral).

A continuación en esta sección:

Requisitos

Instalación

Configuración de Cgroups Manager

Limitación del consumo de recursos

Monitorización y notificaciones sobre el consumo de recursos

Restricciones

Desactivación de Cgroups Manager

 

Requisitos

Licencia de Plesk

Cgroups Manager está disponible para las siguientes ediciones de Plesk:

  • Plesk Web Pro
  • Plesk Web Host

Si está usando el plan Web Admin y desea gestionar el consumo de recursos de sus sitios web, considere actualizar a Web Pro y distribuir los sitios web entre varias suscripciones.

Licencia de la extensión

Cgroups Manager es una extensión de pago. Puede comprarla por separado o como parte del Hosting Pack.

SO y sistema init

Cgroups Manager está disponible para los siguientes sistemas operativos:

  • Debian 8
  • Ubuntu 16.04
  • CentOS 7
  • Red Hat Enterprise Linux 7

Por omisión, todas estas distribuciones usan el sistema init denominado systemd, imprescindible para Cgroups Manager. Plesk también puede instalarse en Debian con un sistema init alternativo denominado System V. Para examinar el sistema init actual, ejecute cat /proc/1/comm en el interfaz de línea de comandos.

Nota: si instala Cgroups Manager en Debian con el sistema V, Plesk lo reemplazará por systemd. Con el fin de que se apliquen los cambios efectuados, una vez completada la instalación deberá reiniciar el sistema de forma manual.

Limitaciones para Virtuozzo 6 & 7

Plesk en Virtuozzo 6 sólo puede gestionar la RAM y Plesk en Virtuozzo 7 puede gestionar la RAM y la CPU, pero no el E/S de disco.

Si su sistema no cumple algunos requisitos, puede migrar Plesk a un sistema que sí que los cumpla.

 

Instalación

Para habilitar Cgroups Manager:

  1. Instale el componente Resource Controller (Cgroups) mediante Plesk Installer:
    1. Vaya a Herramientas y configuración
    2. Haga clic en el enlace Actualizaciones
    3. Haga clic en el enlace Adición y eliminación de componentes
    4. Seleccione "Resource Controller (Cgroups)" y haga clic en Continuar.

      Nota: si la lista de componentes disponibles no incluye el componente requerido, compruebe que su sistema cumple los requisitos.

  2. Inicie el componente:
    1. Vaya a Herramientas y configuración
    2. Haga clic en el enlace Administración de servicios
    3. Inicie el servicio "Resource Controller (Cgroups)".
 

Configuración de Cgroups Manager

Atención: de no configurar Cgroups Manager correctamente, los sitios web alojados pueden funcionar más lentamente o incluso dejar de funcionar. Antes de efectuar cualquier cambio, es imprescindible leer y entender las instrucciones proporcionadas en este tema.

Puede configurar Cgroups Manager en los siguientes niveles:

  • A nivel de un plan de servicio, lo que afectará a todas las suscripciones de dicho plan.
  • A nivel de una única suscripción.

La configuración a nivel de la suscripción invalida aquella establecida a nivel del plan de servicio. Los planes complementarios no pueden usarse para modificar la configuración de Cgroups Manager.

Una vez haya instalado e iniciado el servicio, dispondrá de las siguientes herramientas de configuración:

Herramienta Plan de servicio Suscripción

Plesk Panel (usa el modo de visualización de Proveedor de servicios)

  1. Vaya a Planes de servicio y abra la pestaña Planes de hosting.
  2. Haga clic en el plan de servicio para el que desea configurar Cgroups Manager.
  3. Abra la pestaña RAM, CPU y E/S de disco.
  1. Vaya a Suscripciones.
  2. Haga clic en la suscripción para la que desea configurar Cgroups Manager.
  3. Haga clic en Personalizar y abra la pestaña RAM, CPU y E/S de disco.

CLI de Plesk

Use las opciones -cgroups* de la utilidad service_plan .

Use las opciones -cgroups* de la utilidad subscription_settings .

API XML de Plesk

Examine la documentación sobre la administración de planes de servicio.

Examine la documentación sobre la administración de suscripciones.

 

Limitación del consumo de recursos

Establecimiento de límites

El primer parámetro de configuración disponible para cada recurso gestionado es el valor de límite. Cada recurso gestionado dispone de su propio valor límite. Por omisión, estos valores no se aplican, por lo que los recursos no se limitan.

Las suscripciones pueden compartir parámetros de límite, si bien cada una de ellas tiene su propio límite.

Si se impone un límite para un determinado recurso a una suscripción:

  • Cgroups Manager monitoriza todos los procesos propiedad del usuario de sistema de la suscripción. Todos estos procesos no pueden consumir más del límite establecido para cada recurso.
  • Si una suscripción alcanza su límite, el sistema operativo efectuará una acción determinada en función del tipo de recurso.
  • Una suscripción no puede superar el límite ni en el supuesto caso de que en el servidor aún hayan recursos disponibles del tipo correspondiente (ciclos inactivos de CPU, RAM, etc.).

Si no se impone ningún límite para un determinado recurso a una suscripción:

  • Los procesos de la suscripción pueden usar tanta cantidad del recurso como esté disponible.
  • El recurso se comparte entre los procesos de todas las suscripciones:
    • El tiempo de CPU y el E/S de disco se comparten casi igual.
    • La RAM se comparte en función de lo que soliciten los procesos.

En ambos casos, no es posible garantizar que una suscripción recibe una cantidad mínimo del recurso.

Valores de límite permitidos

Los parámetros de límite pueden presentar los siguientes valores:

Parámetro Medido en Valores disponibles

Límite de CPU

Porcentaje de tiempo de CPU, donde 100 % es un núcleo de CPU usado en su totalidad

No más de 100 % * Número de núcleos de CPU

Límite de RAM

Bytes

No inferior a 1 MB

Velocidad (escritura) de entrada de disco

Bytes por segundo

No inferior a 1 MB por segundo

Velocidad (lectura) de salida de disco

Bytes por segundo

No inferior a 1 MB por segundo

¿Cómo gestiona el sistema el consumo de los recursos?

Cuando los procesos de una determinada suscripción usan el valor máximo permitido de un recurso, el sistema operativo efectúa unas acciones determinadas en función del tipo de recurso.

Sobreuso de recurso Acciones Impacto

CPU, ancho de banda de lectura y escritura del disco

El sistema limita los procesos de esta suscripción para que no se usen más recursos de los establecidos.

Puede que los sitios web correspondientes operen de forma más lenta y tarden más en responder.

RAM

Cuando los procesos de una determinada suscripción alcanzan el límite de RAM, el sistema elimina el que consume más memoria.

El sitio web correspondiente puede que no esté disponible durante un tiempo y que responda a las peticiones con códigos HTTP 5xx.

 

Monitorización y notificaciones sobre el consumo de recursos

Configuración de monitorización y notificaciones

Una vez establecido el límite para un recurso, también puede configurar Plesk para que monitorice el consumo de dicho recurso.

Para activar la monitorización, establezca los siguientes valores:

  • Umbral ("Notificar al exceder." en Plesk Panel).
  • Periodo.

Para desactivar la monitorización, elimine el valor del umbral correspondiente.

Valores permitidos para la monitorización

Los parámetros de monitorización pueden presentar los siguientes valores:

Parámetro Medido en Valores disponibles

Límite de CPU

Porcentaje de tiempo de CPU, donde 100 % es un núcleo de CPU usado en su totalidad

No superior al valor límite de CPU

Límite de RAM

Bytes

No inferior a 1 MB y no superior al valor límite de RAM

Velocidad (escritura) de entrada de disco

Bytes por segundo

No inferior a 1 MB por segundo y no superior al valor límite de escritura de disco

Velocidad (lectura) de salida de disco

Bytes por segundo

No inferior a 1 MB por segundo y no superior al valor límite de lectura de disco

Periodo de comprobación (para cualquier recurso)

Segundos

300 (5 minutos), 3600 (1 hora) o 86400 (24 horas)

¿Cómo efectúa el sistema la monitorización?

Cuando activa la monitorización de uno o más recursos, Cgroups Manager empieza a monitorizar su consumo. Si activó la monitorización del recurso a nivel de la suscripción, se monitorizará el uso del recurso para dicha suscripción. De lo contrario, si activó la monitorización del recurso a nivel del plan de servicio, se monitorizará el uso del recurso para todas las suscripciones que se basen en dicho plan de servicio:

  1. Cada 5 minutos, Cgroups Manager contabiliza el consumo medio de recursos de una suscripción, además de comprobar si este es igual o superior al umbral.
  2. Cada periodo Cgroups Manager comprueba cuántas veces la suscripción ha excedido el umbral durante el último periodo de tiempo.
    • Si la suscripción ha excedido el umbral en todos los intervalos de un periodo, Cgroups Manager envía una notificación por email.
    • Si no sucede más que en un periodo, no se envía ninguna notificación adicional.
Ejemplo de monitorización

Este ejemplo le ayudará a entender cómo Cgroups Manager lleva a cabo la monitorización y cómo envía notificaciones.

Existe un plan de suscripción P con la siguiente configuración:

Parámetro Valor

Límite de CPU

200%

Umbral de CPU

160%

Periodo de comprobación de CPU

1 hora

Tal y como hemos explicado antes, el 100 % significa un núcleo de CPU usado en su totalidad.

Existen dos suscripciones bajo el plan: A y B.

La suscripción A presenta una tarea que consume mucha CPU, que se ejecuta cada hora y tarda 10 minutos en completarse. Durante estos 10 minutos, los procesos de la suscripción consumen más del 160 % del tiempo de CPU. El resto del tiempo, la suscripción consume menos del 160 % de tiempo de CPU. Por lo que respecta a las notificaciones, no importa si esta alcanza el valor límite.

El sitio web de la suscripción B presenta una carga elevada. Los procesos de la suscripción siempre consumen más del 160 % de tiempo de CPU.

Cgroups Manager contabiliza el consumo medio para cada intervalo de 5 minutos. Así, al cabo de una hora este obtiene los siguientes resultados:

  • La suscripción A excede el umbral en dos intervalos de 12. Cgroups Manager no enviará ninguna notificación.
  • La suscripción B ha excedido el umbral en todos los 12 intervalos. Cgroups Manager enviará una notificación, si bien no la repetirá si la carga sigue siendo la misma.
Destinatarios y contenido de las notificaciones

Para seleccionar quién recibirá las notificaciones:

  1. Vaya a Herramientas y configuración > Notificaciones.
  2. Seleccione los destinatarios deseados al lado de CPU, RAM y E/S de disco (Cgroups).

El contenido de cada una de las notificaciones se crea a través de una plantilla. Si desea leer y editar la plantilla:

  1. Vaya a Herramientas y configuración > Notificaciones.
  2. Haga clic en el botón más a la derecha al lado de CPU, RAM y E/S de disco (Cgroups).

Si desea más información al respecto, consulte la documentación sobre el envío automático de notificaciones.

 

Restricciones

Algunas incidencias técnicas y de negocio no pueden resolverse mediante la gestión de recursos:

  • Aquellos clientes que previamente excedieron el uso de recursos probablemente experimentarán un peor rendimiento.
  • Cgroups Manager no contabiliza ni limita recursos para aplicaciones web Ruby, Python y Node.js que usen Phusion Passenger.
 

Desactivación de Cgroups Manager

Si desea ocultar la funcionalidad Cgroups Manager, añada las siguientes líneas al archivo panel.ini:

[resourceController]
enabled = false
 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.