Utilisation de l'UC et des connexions simultanées

L'outil utilisation de l'UC et des connexions simultanées de cPanel permet de suivre la consommation mémoire, CPU et I/O (accès disque) de votre espace d'hébergement.

Sur un hébergement o2switch, chaque personne est cloisonnée et dispose de ressources utilisables. Ainsi, un client qui consomme beaucoup de ressources ou a un script qui bug (bouclage) n'impactera pas les autres clients du même serveur car son environnement est cloisonné. Le cloisonnement est similaire aux techniques utilisées sur des VPS ou de la virtualisation.

L'outil utilisation de l'UC permet de voir les ressources utilisables et utilisées sur le compte d'hébergement. Cela permet de suivre votre consommation réelle et voir si vous arrivez bientôt à la limite de votre compte d'hébergement ou non.

Icône Nom Catégorie Description
Utilisation de l'UC Mesures Permet de suivre la consommation CPU, mémoire et I/O de l'hébergement

En allant sur l'outil, la première page indique si votre hébergement a déjà atteint un des plafonds d'utilisation. Cette première page peut être ignorée car elle ne fournit pas d'informations pertinentes.

Page d'acceuil de l'outil de suivi de consommation des ressources

Première page de l'outil d'utilisation des ressources (à ignorer)

Cette première page peut être ignorée car elle affichera très souvent un message indiquant que vous avez atteint le plafond CPU ou I/O sur les dernières 24h. Cela est sans doute normal. En effet, si vous lancez un processus un peu lourd, comme la génération d'une sauvegarde ou une grosse importation, le script PHP lancé à ce moment va consommer toutes les ressources disponibles. Le fait d'atteindre 1 fois (ou quelques fois) ce plafond est tout à fait normal.

Ce qui est anormal en revanche est de consommer plus de 50% du temps l'ensemble des ressources attribuées. C'est généralement signe qu'un processus PHP (ou autre) bug sur votre espace d’hébergement et consomme inutilement les ressources qui vous sont attribuées.

La page d’accueil contient deux liens, qui eux fournissent des informations intéressantes :

  • détails : permet de voir l'historique de la consommation de votre hébergement
  • snapshot : permet d'avoir une idée de ce qui est lancé sur votre hébergement, peut vous aider à trouver la source d'une consommation anormale de ressources

Pour avoir des informations intéressantes, il faut cliquer sur le lien Détails puis observer les courbes de consommation sur les 24h ou les 7 derniers jours.

Exemple de graphique de consommation des ressources d'un hébergement

Exemple de courbes de consommation : l'hébergement ne consomme pas grand chose

Exemple de graphique de consommation d'un usage anormalement élevé de CPU

Exemple de courbes de consommation : l'hébergement à un problème sur la consommation CPU

Résumé des différents types de ressources visibles dans les graphiques, suivi d'une explication rapide sur ce qui consomment lesdites ressources.

Graphique Explications Qu'est-ce qui génère une consommation de cette ressource ?
CPU Usage La consommation en CPU (processeur) de votre hébergement Tous les processus lancés sur votre hébergement consomment du CPU. Dans la majorité des cas, la consommation en CPU est liés aux processus PHP exécutés sur votre hébergement. Un processus PHP est généré pour répondre à un visiteur qui navigue sur votre site. Si vous utilisez d'autres langage comme nodeJS, Ruby ou Python, alors ce sont ces processus là qui consommeront du CPU. A noter que les processus email (IMAP, POP) sont également comptabilisé dans le décompte en CPU mais c'est rare que cela soit un problème (sauf si vous avez un nombre très important d'adresses emails)
Virtual Memory Usage et Physical Memory Usage La consommation en mémoire RAM de votre hébergement C'est très rare que la mémoire RAM devienne un problème. Tous les processus consomment un peu de mémoire RAM pour fonctionner. En fonction de la manière dont sont conçus les scripts exécutés sur l'hébergements, ils consomment plus ou moins de mémoire RAM (notamment lorsqu'il est nécessaire d'augmenter le memory_limit de PHP par exemple). Les traitements lourds (déclinaisons de produits sur un E-Commerce, parsing/traitement d'import/export de données) ont tendances à consommer plus de mémoire. Les gestionnaires de dépendances comme composer sont également très gourmand en mémoire.
Input/Output Usage Les opérations lecture/écriture sur le disque sur votre hébergement Tous les processus manipulant énormément de fichiers sur l'hébergement génèrent des accès disques. Le plus souvent, ce sont les processus de sauvegardes (passe en revue l'intégralité des fichiers d'un dossier). Les caches sous forme de fichier peuvent également générer beaucoup d'IO. Les opérations d'archivages / compressions génèrent également des IO. En résumé, tout ce qui à besoin de lire/écrire des choses sur le disque dur de votre hébergement génère des IO
Entry Process Nombre de connexions actives sur le serveur web pour votre compte A chaque fois que vous avez une visite sur votre site internet, cela utilise une place (un slot) sur le serveur web. Lorsqu'une place est réservé, c'est compté comme un entry process. Cette place est réservé/active jusqu'à que le serveur web répondent au client avec la page demandé. Sur un site qui fonctionne normalement, un slot est réservé pendant quelques millisecondes car c'est assez rapide. Mais si vous avez des processus bloquant, la place peut être réservé pendant plusieurs secondes car le serveur web attend la réponse à envoyer au client. Dans ce cas et si vous avez beaucoup de visite, vous pouvez saturez votre entry process. Il faut voir le entry process comme le nombre de connexions concurrentes sur vos sites.
Processes Nombre de processus en cours d'exécution Le plus souvent, ce sont les sites internet et les processus qui en résultent (PHP, nodeJS, Ruby, Python) qui représente la majorité du nombre de processus en cours d'exécution sur un hébergement. Les processus IMAP, pour les emails, sont également comptabilisé. C'est important car cela peut grimper rapidement avec les emails : il faut compter 1 processus IMAP par dossier d'une boite email sur laquelle quelqu'un est connecté !
L'outil utilisation de l'uc et tous les graphiques que vous voyez représente uniquement l'activité de votre propre compte d'hébergement ! Cela n'est pas représentatif de l'activité du serveur dans sa globalité.
Votre compte d'hébergement peut très bien arriver à saturation et à 100% de consommation mais le serveur physique servant à l'hébergement de ce compte peut être à moins de 30% d'utilisation globalement.

En cliquant sur le lien snapshot de la page d'accueil de l'outil, vous pouvez retrouver une capture des processus qui étaient en cours d'exécution sur votre hébergement, aux périodes pendant lesquels il y avait des problèmes.

Le fait de voir que votre hébergement consomme 100% de CPU à un instant T bien. Ce qui est mieux est de voir qu'est-ce qui était lancé à cet instant T et c'est ce qui permet l'outil snapshot.

Exemple de snapshot des processus en cours d'exécution d'un hébergement à problème

Exemple de l'historique des processus en cours d'exécution sur un hébergement ayant un problème

L'outil snapshost contient plusieurs choses :

  1. En premier, en retrouve le calendrier permettant de choisir la date à laquelle on souhaite regarder si un snapshot est présent
  2. Ensuite dans Choose snapshot on doit choisir le snapshot que l'on souhaite regarder. C'est l'outil qui décide quand il doit prendre un snapshot ou non, il n'est pas rare qu'aucun snapshot ne soit présent.
  3. Dans Process List on retrouve la liste des processus sous un format similaire à celui de la commande Linux top. Les éléments importants sont la commande dans CMD qui permet de voir ce qui est lancé et par rapport au chemin, on arrive en déduire le site concerné. Puis les colonnes CPU et MEM.
  4. Dans Database queries snapshot on peut retrouver des exemples de requêtes SQL qui étaient en cours d'exécution au moment du snapshot
  5. Dans HTTP Querie snapshot on retrouve les requêtes qui étaient présente sur le serveur web au moment du snapshost

Dans la capture ci-dessus, on constate qu'il y a un nombre important de processus, ce qui est probablement signe d'un problème avec le site ou d'un trafic très important.

Lorsque vous arrivez aux limites, vous allez le constatez dans les tendances des courbes et dans l'historique des processus également. La première chose à se demander est : est-ce que l'utilisation visible dans les courbes semble cohérente par rapport à ce que j'héberge ?

Si vous hébergez un site qui est très visités, la consommation CPU va probablement être importante car des processus seront lancés pour répondre à chaque visite. Dans ce cas, il faut regarder s'il est possible d'optimiser des choses :

  • est-ce que mon site dispose d'un système de cache ? Ai-je vérifié si le cache fonctionnait correctement ? Si non, installez un système de cache sous forme d'une extension à ajouter sur le site ou un système plus aggressif et efficace comme litespeed.
  • est-ce que mon système de cache n'est pas contre productif ? Essayez en activant et en désactivant le cache, comparez les deux. Sur les systèmes de caches sous forme de fichier, si les fichiers s'accumulent sans purge du cache, il arrive qu'un site avec le cache deviennent plus lent que sans le cache. Une purge du cache régulière est importante.
  • est-ce que j'utilise une version récente de PHP ? Cela peut être vérifié dans l'outil sélectionner une version de PHP. Les versions récentes de PHP sont plus rapides et consomment moins de ressources.
  • concernant PHP, vérifiez également que le module opcache est bien activé dans l'outil sélectionner une version de PHP. opcache fait une énorme différence. C'est très important que cela soit actif sur un site en production.
  • quelle est la taille de ma base de données ? Si la base de données fait plusieurs centaines de méga, ai-je la possibilité de l'alléger ? Par exemple en vidant des tables de logs ou d'historique. Cela peut être vérifié avec phpmyadmin, en regardant les tables et en triant par taille. Ensuite faites une recherche sur le nom de la table, en fonction du CMS que vous utilisez, pour voir à quoi cela sert et si cela peut être vidé.

Par contre, si vous avez un site qui n'est pas beaucoup visité, qui ne devrait pas consommer grand chose et que vous constatez que la consommation (CPU, mémoire, IO) grimpe en flèche, c'est anormal. Dans ce cas, cela peut venir d'une des choses suivantes :

  • le site internet est piraté. Des processus malveillants se lancent sur votre hébergement et consomment toutes vos ressources. Vérifiez cela en allant regardé sur votre hébergement si vous ne voyez pas des nouveaux fichiers, aux noms suspects. Si vous avez des solutions antivirus sur vos sites, lancez des scans et analyses.
  • quelque chose ne va pas avec le site. Si vous avez installez des nouvelles choses récemment, commencer par les désactiver si le problème est récent. Désactivez progressivement ce que vous avez installé récemment pour voir si l'usage redevient cohérent. Si c'est le cas, vous trouverez le fautif (thèmes, extensions installés) en procédant par élimination.
  • regardez dans l'outil snapshot les processus qui sont en cours d'exécutions. Est-ce que cela vous parle ? Savez-vous à quoi correspondent ces processus ? A partir de là, vous pouvez en déduire ce qui pose problème sur le site/hébergement.
  • vérifiez vos tâches planifiées (cron) et vos sauvegardes, d'autant plus si vous constatez une régularité dans les pics de consommation.

La deuxième question à ce poser est : ai-je plusieurs sites sur le même compte d'hébergement ? Puis-je prendre un deuxième compte d'hébergement et migrer une partie des sites dessus pour équilibrer la charge ?

Dans le cas ou vous avez plusieurs sites internet sur le même compte d'hébergement et que l'ensemble de ces sites reçoit un trafic web moyen, il est possible de commander un deuxième compte d'hébergement puis de migrer une partie des sites dessus.

Cela va alléger le premier compte d'hébergement, vous disposerez des ressources de deux comptes d'hébergements pour héberger tous vos sites.

En revanche, cela ne fonctionnera pas si :

  • vous n'avez qu'un seul site internet, ça ne sera pas possible de faire un découpage/séparation de site.
  • ou si vous avez plusieurs sites internet mais que le problème de consommation est uniquement liés à l'activité d'un seul site. Autrement dit, si vous avez 5 sites internet sur un même compte d'hébergement, que 1 site est très visité mais que les 4 autres ont un nombre de visite anecdotique, ça ne servira à rien d'isoler les 4 autres sites sur un second comptes : ils ne consomment presque rien.

Pour qu'une séparation des sites sur plusieurs comptes d'hébergement soient utiles et efficaces, il faut que la consommation de l'hébergement viennent de l'activité de tous ces sites (et pas juste 1 site).

Voici un tableau récapitulatif avec des idées de choses à vérifier lorsque vous avez un problème de consommation CPU, mémoire ou d'accès disque sur l'hébergement.

Problème Choses à vérifier Aide / Commentaire
Consommation CPU anormale Est-ce que j'utilise une version récente de PHP ? PHP 5.6 est 3-4 fois plus lent que PHP7. Vérifiez votre version de PHP avec l'outil Sélectionner une version de PHP dans cPanel. Essayez d'utiliser une version de PHP récente si votre site le permet.
Consommation CPU anormale Est-ce que opcache est bien actif ? opcache fait une énorme différence sur les performances de PHP, vérifiez que le module est actif avec l'outil Sélectionner une version de PHP dans cPanel
Consommation CPU ou IO anormale Ai-je des tâches cron ou des opérations lancées à interval régulier ? Généralement les tâches cron consomment du CPU car les tâches qui sont lancés sont souvent des tâches lourdes comme la génération d'une sauvegarde. Regardez si l'allure de la courbe de consommation semble indiquer que c'est quelque chose lancé à interval régulier. Comparez cela avec les cron que vous avez sur cPanel. A noter que certains CMS ont leurs propres systèmes de cron, comme wpcron pour WordPress, lancés indépendamment de ce que vous avez pu configuré sur cPanel également. Vérifiez cela également. Vérifiez également la périodicité des crons, si c'est configurés sur toutes les minutes voyez s'il est possible de réduire cela
Consommation CPU ou IO anormale Est-ce que je fais des sauvegardes ? Quand est-ce lancé ? Si vous faites des sauvegardes, lancez cela à des périodes creuses comme la nuit par exemple
Consommation CPU Ai-je fait une grosse modification dernièrement ? Qu'ai-je installé de nouveau ou mis à jour ? Essayez de revenir en arrière, progressivement, sur les dernières grosses opérations que vous avez pu faire sur l'hébergement ou sur l'installation d'extensions particulières, surtout si le problème est récent : le problème à certainement été introduit suite à une modification effectuée.
Consommation CPU Ai-je plus de visites que d'habitude ? Est-ce que mon site fait le buzz ? Regardez dans vos outils de statistiques (utilisez awstats le cas échéant) si votre site n'a pas plus de visite que d'habitude. Il suffit d'un influenceur qui publie l'un de vos articles pour avoir des milliers de visiteurs simultanées. Vérifiez également si ce ne sont pas des robots ou systèmes automatisés qui visitent / scannent / attaquent votre site.
Consommation CPU Ai-je un système de cache sur mon site ? Est-ce que je l'ai testé ? Si vous n'avez pas de système de cache sur votre site, installez-en un. Cela peut être sous forme d'une extension comme WP Super Cache, ou même WP Rocket. Ou un cache serveur un peu plus agressif comme litespeed.
Consommation CPU Ai-je vérifié si mon site n'était pas piraté ? Des processus malveillants peuvent être à l'origine d'une consommation anormale sur votre hébergement. Connectez-vous sur votre hébergement, faites un tour dans vos fichiers, à la recherche de fichiers ayant des noms suspects, hors norme. Vous pouvez également faire des scans en ligne avec des outils comme sucuri site check
Consommation IO anormale Ai-je un répertoire de cache sur mon site ? L'ai-je purgé récemment ? Un cache stocké sous forme de fichiers peut être contre productif et générer des IO en masse s'il n'est pas purgé régulièrement. Si vous n'avez pas videz votre cache récemment, purgez-le.
Qu'importe Est-ce que j'utilise la dernière version du CMS / extension / thème que j'utilise ? Si vous n'utilisez pas la dernière version des outils que vous avez déployés sur votre hébergement, regardez s'il est possible de faire une mise à jour. Les mises à jours corrigent des problèmes, cela peut également corriger des problèmes liés aux performances.
Qu'importe Ai-je regardé les logs d'erreurs de mon application ou de PHP ? Si votre application génère un fichier de log, ouvrez-le pour vérifier les dernières erreurs. Activez et vérifiez également les erreurs PHP. Vérifiez également les logs d'erreurs web.
  • Dernière modification: il y a 2 mois
  • par o2switch