Drupal est un système de gestion de contenu populaire, open-source , mais parfois sa force est aussi sa faiblesse . N'importe qui peut étendre les fonctionnalités de Drupal ou , s'ils le souhaitent, modifier les scripts de base. Toutefois, ces changements peuvent créer des boucles dans la logique du logiciel . Dans une tentative de trouver une solution , le logiciel commence à consommer de plus en plus des ressources du serveur jusqu'à ce qu'il n'en reste plus . Par conséquent , le site se bloque , et le matériel peut devenir instable . Si cela vous arrive , vous aurez besoin pour résoudre ces processus d'emballement . Choses que vous devez
texte éditeur
client FTP
client SSH
Afficher plus Instructions
trouver la cause
1
restaurer toutes les modifications récentes . Si cela augmente la vitesse et la réactivité de Drupal , le nouveau code contient le problème.
2
étudier votre processus serveur. Dans un build Linux, lancez "top" pour voir ce qui consomme des ressources . Dans un build de Windows , lancez le Process Monitor . Si le processus est plus consommatrice "mysql " ou " mysqld " alors vous saurez qu'il est lié base de données.
3
Review vos logs Drupal . Cherchez des messages identiques répétés . En utilisant les chemins référencés , travailler à travers les modules de découvrir ce qui les déclenche .
4
Vérifiez vos logs du serveur pour voir si quelqu'un est artificiellement déclenchement d'un processus périodique (c'est à dire , " poormanscron " ) à consomment des ressources sur votre serveur.
Mettre en œuvre une solution
5
Retirer boucles infinies dans le code contribué . Par exemple, si vous avez un " drupal_goto ();" fonction sur la première page qui pointe vers la page deux , et deux pages contient son propre " drupal_goto (); " retour à la première page , vous allez créer une boucle infinie . Retrait de l'une des fonctions incriminées permettra d'éliminer le processus d'emballement.
6
Simplifier les actions gourmandes en mémoire (comme les bases de données et les recherches de chaîne ) dans votre code contribué . Par exemple, une requête MySQL qui recherche chaque nœud et retourne une grande quantité de données peut consommer trop de mémoire. Dans ce cas, limiter les requêtes MySQL pour les types de nœuds spécifiques ou les dates de création de nœuds et de contraindre les données renvoyées . L'allocation de memory_limit de
7
Augmenter PHP. Dans certaines circonstances, un processus d'emballement peut pas être un problème après une hausse de l'allocation de mémoire . Le " Drupal : Limit Memory Augmentation « document , offert dans le cadre du guide d'installation de Drupal, est la ressource ultime pour faire ce changement
8
Interdire l'extérieur de déclencher des processus gourmandes en mémoire telles que l'indexation de recherche . . Si la grille d'autorisation de Drupal n'offre pas assez de granularité , vous pouvez aussi le faire en employant serveur et les autorisations basées sur des fichiers en utilisant le système d'exploitation de la machine hôte (ie. , " chmod " pour Linux). Vous pouvez également utiliser le blocage sur IP dans le logiciel de serveur ( comme Apache) pour empêcher les autres d'interférer avec les performances de votre site.