IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

comment vérifier la mémoire allouée sur un environnement mutualisé ?


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut comment vérifier la mémoire allouée sur un environnement mutualisé ?
    bonjour,

    mon serveur est un abonnement mutualisé qui offre 15Go RAM et 1VPU.

    j'ai une appli php qui rame parfois et je vois une offre de serveur à 20Go de RAM et 1VPU soit 5Go de plus.

    J'ai un accès SSH sur mon serveur, déjà est-ce possible de vérifier par une commande shell que j'ai bien 15Go de ram dans mon serveur au cas où mon contrat serait 'marketing enfumé' ?

    Sinon, pensez-vous que le passage de 15 à 20Go de RAM peut avoir une quelconque influence visible si le nombre d'utilisateurs/visiteurs ne varie pas.

    merci de votre conseil

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Il faut investiguer le problème avant de balancer davantage de ressources.
    Il faudrait analyser le code de l'appli car ça peut être une requête mal optimisée.

    Éventuellement trop de visiteurs simultanés, il faudrait regarder les logs du webserver. Ça peut arriver que certains bots plombent un serveur web. Si c'est un problème ponctuel ça peut effectivement être lié à la fréquentation, ou alors certains pages sont plus lourdes que d'autres (eg accès DB).

    Je conseillerais de consulter les stats de fréquentation s'ils sont disponibles, et peut-être que ces problèmes de lenteur peuvent être corrélés avec des pics de fréquentation.

    En SSH on peut utiliser des commande comme free, ps, top etc pour avoir une idée de la consommation actuelle en ressources.

    Je ne sais pas si c'est vraiment un serveur mutualisé que vous avez ou un VPS, vu que vous avez accès SSH. Mais si vous pouvez installer des choses, je conseillerais fortement de mettre en place une solution de monitoring avec Prometheus et Grafana par exemple, ce qui permettrait aussi d'avoir de l'historique, et même des alertes lorsque certains seuils sont franchis (pics de consommation).

    Finalement, que l'on gère un serveur ou plusieurs, il faut bien qu'on ait de la visibilité sur son système.

  3. #3
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    oui en fait c'est ponctuel.
    au départ on ne remarquait pas de soucis sur les applicatifs LAMP installés , puis on a ajouté un site wordpress et je pense que c'est depuis son arrivée que les appl LAMP ont des moments "de passage".
    est-ce qu'il y a dans Apache une fonctionnalité QoS comme on trouve sur un routeur ?
    Par exemple pouvoir dire quelle appli est prioritaire sur laquel pour utiliser les ressources.
    J'aimerai bien un tel outil pour dire qu'un dossier (vhost ou sousdomaine) est peut prendre 80% du cpu/ram ou que le wordpress se limite à 20% de cpu et jamais prendre le reste même si i lest dispo. Pour la RAM de wordpress ça je sais il y a un paramètre mais pour le %cpu ou mieux le % de mysql, il n'y a aucune priorité ?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Citation Envoyé par clavier12AZQSWX Voir le message
    est-ce qu'il y a dans Apache une fonctionnalité QoS comme on trouve sur un routeur ?
    Je ne sais pas trop, peut-être avec certains modules. Mais je ne suis pas persuadée que ça va aider.
    Si le script rame, ce n'est pas forcément à cause d'autres applications qui tournent en même temps, alors il n'y a rien à prioriser.

    Personnellement, j'ai déjà eu un serveur qui était plombé par des robots qui téléchargeaient de gros fichiers.

    Il est possible que le serveur soit surchargé par moments, cela peut être dû à des pics de fréquentation. Donc je recommande de mettre en place une solution de monitoring pour savoir où on en est, et s'il est correctement provisionné.
    Normalement, on peut dockeriser une grosse partie de la solution de monitoring afin de diminuer la quantité de travail...
    En gros: on installe un ou plusieurs node exporters Prometheus sur la machine, et on utilise Grafana (en VM ou Docker) pour récolter les valeurs sur les endpoints correspondants de ces exporters.

    Deuxième étape: mettre en place du profiling de code avec xdebug par exemple. Malheureusement, je n'ai pas encore d'expérience pratique avec ce produit ou de besoin immédiat, mais sinon je mettrais ça en place afin de récolter des stats. Cela demandera sûrement du temps et des efforts, mais l'exercice sera gratifiant je n'en doute pas.

    Avant même de faire tout ça, on peut déjà commencer par prendre note de l'heure exacte où des lenteurs se produisent, et regarder les logs aux environs de la même heure, par exemple les logs système ou Apache. On ne sait jamais, on voit souvent des choses intéressantes quand on regarde les logs.

    Dans l'immédiat, je ne conseillerais pas de balancer davantage de ressources pour résoudre le problème, c'est la solution de facilité mais pas toujours.
    Il est parfaitement possible que le serveur soit sous-dimensionné par rapport à l'utilisation. Mais il est tout aussi possible que certains aspects peuvent être optimisés. Par exemple, il n'est pas rare que des requêtes vers une DB consomment trop de ressources, à cause d'un manque d'index ou mauvaise modélisation.
    Il y a des fonctionnalités de cache qui peuvent être mises en oeuvre aussi.

    Bref, je recommande vivement ce plan d'action pour avoir plus de visibilité sur votre serveur Pire des cas, vous sous-traitez...

  5. #5
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    merci pour ces explications détaillées.

    étant sur un hébergement mutualisé j'ai peu de champs d'application pour installer des choses de monitoring . L'héberg me renvoie des logs que je l'ai jamais exploité ni eu envi car ils ne sont pas en temps réel.

    comme dit plus haut, j'ai 8 applicatifs lamp installé. Pour l'un, j'ai cré un double (une espèce de backup.monapplication) où je suis seul à utiliser/acceder.
    Quand je vois que l'original APP1 rame, je tente backup.app1 et il rame aussi alors que je suis seul dessus. De là est parti mon constat (trop naïf...?) que c'était un problème général à l'hébergement...

    Ce matin j'ai pensé à autre chose : une personne est chargé de faire un upload FTP quotidien, peut-être aussi que son activité plombe le reste de ressource des 8 app LAMP....

    Mais c'est vrai il me faudrait une appli de monitoring général ou dédié pour chaque appli...

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Citation Envoyé par clavier12AZQSWX Voir le message
    Ce matin j'ai pensé à autre chose : une personne est chargé de faire un upload FTP quotidien, peut-être aussi que son activité plombe le reste de ressource des 8 app LAMP....
    Ce n'est pas impossible.

    Je pense qu'on pourrait déjà commencer par une solution artisanale: faire un script simple qui fait un "scrape" de la home page de cette application (ou d'une page précise) toutes les minutes, et enregistre le résultat ainsi que le temps écoulé dans un fichier CSV avec un timestamp. Au bout de quelques jours on verra facilement (graphique à l'appui) s'il y a des ralentissements à certains moments de la journée, et s'ils peuvent être corrélés à certaines activités. Il y doit y avoir un log FTP aussi, donc on doit être capable de dire à quelle heure une session a été ouverte.

    Il faut utiliser les logs disponibles.

    Sous Linux on peut faire du QoS, par exemple avec l'outil TC qui est très puissant.
    Mais ce n'est pas un serveur dédié donc les options sont probablement limitées voire nulles.

  7. #7
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 309
    Par défaut
    bonjour
    Citation Envoyé par clavier12AZQSWX Voir le message
    étant sur un hébergement mutualisé j'ai peu de champs d'application pour installer des choses de monitoring
    Comment peux-tu dire que tu as 15Go de ram avec un serveur mutualisé ????
    La définition d'un mutualisé c'est que l'hébergement est commun à de nombreux clients (peut-être/souvent à plus de 100 clients !) Il suffit alors d'avoir une seul (autre) client qui plombe le serveur avec un process très lourd.
    ps: en "mutualisé", le serveur sql est sur une autre machine qui, elle aussi, est commune à de nombreux clients.

    N'as tu pas plutôt une offre VPS ? (ram et cpu ajustable pour un seul client) alors tu as ton propre linux (dans un conteneur type docker) et tu peux installer tout ce que tu désires, mais ... c'est à toi d'administrer TON linux/apache et il faut pour cela de grosses compétences linux (contrairement au mutualisé).

    et 1VPU.
    ? des vpu pour un serveur web ???
    Si c'est un seul cpu pour un mutualisé ... c'est plus que faible

    au cas où mon contrat serait 'marketing enfumé' ?
    Un mutualisé est généralement plus proche de 64Go et 16coeurs, mais cela ne veut en fait rien dire puisque l'hébergeur ne communique jamais sur le nombre de clients entassés sur un seul serveur (web et base de donnés). Et la bande passante et aussi une énorme chose à prendre en compte.

Discussions similaires

  1. Comment libérer la mémoire allouée au OleVariant ?
    Par LeBigornot dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 10/01/2010, 09h11
  2. Comment libérer la mémoire alloué a un objet ?
    Par techz dans le forum Débuter avec Java
    Réponses: 14
    Dernier message: 26/08/2009, 08h44
  3. Réponses: 6
    Dernier message: 10/05/2007, 16h24
  4. Réponses: 1
    Dernier message: 18/02/2007, 20h30
  5. Comment vérifier si une mémoire déjà libérée
    Par Xavier dans le forum C++Builder
    Réponses: 5
    Dernier message: 01/02/2006, 13h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo