Quelles sont les limitations de ressources supportées par CloudLinux ?

Parmi les questions que nous recevons de temps à autre : “Pourquoi mon site est lent ?” ou “Mon site ne fonctionne pas comme d’habitude” ou “Mon site affiche le message: Resource Limit Is Reached”, ce sont généralement des problèmes frustrants souvent difficiles à diagnostiquer.

ADK Media utilise le système CloudLinux dans ses plateformes d’hébergement web, ce système comprend la technologie LVE (Lightweight Virtual Environments) qui empêche un site de consommer toutes les ressources CPU, IO, mémoire ou de processus Apache ou d’amener le serveur à une halte ou arrêt. Nous mettons également à la portée de nos clients, un outil sur leur cPanel, leur permettant de visualiser l’utilisation des ressources système pour les dernière 24 heures ou les derniers 7 jours.

CPU et NCPU

CPU Spécifie le pourcentage total du microprocesseur valable sur le serveur, NCPU spécifie le nombre de cœurs valables sur le serveur.

Quand l’utilisateur atteint la limite CPU, les processus en cours sont ralentis. Par exemple si l’on définit la limite CPU à 10% et que les processus à l’intérieur du LVE veulent utiliser plus que 10%, elles seront étranglées (endormies) afin de ne pas dépasser la limite. En réalité cela ne dépasse pas 1 seconde d’intervalle, le résultat final étant que ces processus sont ralentis pour permettre un bon fonctionnement de tous les sites hébergés en mutualisé.

PMEM

La limite de la mémoire physique en Ko, correspond à la quantité de mémoire effectivement utilisée par les processus, puisque beaucoup de processus similaires (comme pour PHP) partagent beaucoup de leur mémoire, la mémoire physique est souvent plus basse que l’utilisation de la mémoire virtuelle. Lorsque LVE dépasse la limite de mémoire physique, CloudLinux va terminer quelques uns des processus, et incrémente un compteur fPMEM, ce qui produit une erreur 503 pour les scripts CGI/PHP. Cette limitation de mémoire physique est la meilleure façon de limiter la mémoire pour l’hébergement mutualisé.

VMEM

La limite de la mémoire virtuelle en Ko, correspond à la quantité de processus mémoire allouée par le LVE. Quand un processus essaie d’allouer plus de mémoire, CloudLinux vérifie si le nouveau total de la mémoire virtuelle est supérieur à la limite paramétrée. Dans ce cas, CloudLinux prévient le compteur fVMEM, dans la plupart des cas (pas tous) cela provoque l’échec du processus, ce qui produit une erreur 503 pour les scripts CGI/PHP.

IO

Exprimé en Ko, cette limite restreint le débit de données pour l’utilisateur. Quand la limite est atteinte, les processus sont étranglés (endormis), ils ne sont pas terminés ou arrêtés, mais sont juste ralentis. Cela permet de s’assurer que les processus au sein du LVE ne dépasseront jamais la limite souhaitée.

NPROC

Cette limite contrôle le nombre total de processus actifs, une fois la limite atteinte, aucun nouveau processus ne sera créé (sauf si un autre se termine).

EP

La limite de processus d’entrées contrôle le nombre d’entrées dans le LVE, un compteur est incrémenté ou décrémenté à chaque fois qu’un processus fait son entrée ou sortie, les processus créés par le LVE ne sont pas comptabilisés ; On peut aussi l’appeler : limite des connexions simultanées d’Apache. L’entrée du processus correspond à une requête HTTP pour un script CGI/PHP, une nouvelle session SSH ou le début d’une tâche cron.

Cette limite a été créée pour prévenir des attaques DoS (Deny of Service), c’est une attaque commune qui immobilise toutes les connexions Apache, en visant des pages lentes sur le serveur, une fois tous les slots Apache utilisés, l’utilisateur ne peut plus se connecter au serveur, qui peut paraître comme hors ligne alors qu’il est ralentit au maximum.

Pour résoudre cela, le nombre de connexions concurrentes à Apache est limité, stoppant les requêtes dépassant la limite autorisée, et causant une erreur 508 (ressource Limit Reached).

FAULTS

Spécifie combien de fois l’utilisateur a atteint une des limites déjà mentionnées. Les faults démontrent que l’utilisation de votre site web n’est pas adapté au pack acquis ce qui nécessite plus de ressources, et donc un passage vers un pack d’hébergement mutualisé avec plus de ressources système voire un serveur VPS ou dédié.

Utilisation Normale

Voici une prise d’écran d’une consommation normale d’un site web moyen :

normal

  • L’utilisation de CPU ne dépasse pas 75 %
  • L’utilisation de VMEM et PMEM est moins de 512 Mb.
  • L’utilisation de IO ainsi de processus d’entrées ne dépasse pas la plupart du temps 50 %.
  • Il n’y a pas des faults.

Utilisation abusive

Ci-dessous une prise d’écran d’une consommation anormale d’un site web :

abusive

  • La consommation du CPU est au maximum, ceci ralenti tous les process en attente d’être exécutés.
  • L’utilisation du PMEM et VMEM peut semble normale sur les dernières 24 heures, mais sur les derniers 7 jours l’utilisateur a atteint 75 % de sa mémoire, ceci affiche un message d’erreur aux visiteurs du site web.
  • La consommation de I/O est au maximum plusieurs fois, ce qui ralenti l’exécution des opérations sur le compte.
  • L’utilisation du processus d’entrées est normale.
  • Faults : l’utilisateur a atteint presque 15946 erreurs vMem.

Ce site est clairement en manque de CPU et RAM et nécessite un upgrade imminent pour compenser également la consommation des I/O.

Comment augmenter les ressources systèmes alloués

Les limitations de ressources sont faites pour assurer une consommation raisonnable (équitable) entre tous les clients qui ont un hébergement mutualisé et de fournir un environnement d’hébergement optimal.

  • Pour un bon fonctionnement d’un site web qui a une consommation anormale, le client doit bien optimiser son code afin de diminuer l’appel des scripts aux ressources système.
  • Dans la plupart des cas, le passage vers un pack d’hébergement plus performant règle les problèmes lié aux ressources système en allouant plus de ressources au site web hébergé.
  • Il serait préférable de bien savoir votre besoin afin de choisir le pack adéquat à la consommation de votre site ou application web hébergé.
  • Si vous désirez augmenter votre pack, merci de contacter notre support commercial par email ou par ticket.

TAGS : » »

Besoin d'une assistance spécifique ?

Contactez notre support en ligne en ouvrant un ticket sur votre espace client.