Cette page à pour but de regrouper les différentes astuces permettant d'améliorer les performances de Drupal.
N'hésitez pas à ajouter vos astuces.
Vous ramez avec views?
Views est un module très puissant avec une interface complexe. Il vous est sans doute arrivé d'avoir de gros problèmes de lenteur au moment de charger certains options. Pour rémédier à cela, une solution simple consiste à éditer votre fichier php.ini et lui rajouter la ligne suivante :
output_handler = ob_gzhandler
Il peut arriver que cette configuration pose des problèmes avec la gestion des images. Dans ce cas il est préférable de la laisser en commentaire et plutôt d'activer la compression de sortie zlib :
zlib.output_compression = On
Supprimer les pages blanches de timeout.
Vous avez peut-être eu , après activation de certains modules des pages blanches en réponse à une requête, et des temps de réponse importants.
J'ai pu supprimer cet effet désagréable en modifiant le fichier /etc/php.ini, afin d'augmenter la mémoire allouée à PHP :
memory_limit=256m
Aussitot après un redémarrage http, plus de problème.
- Version imprimable
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Excellent merci encore. ce produit est vraiment fantastique ! BruniX
BruniX
BruniX
1
Le timeout et la ram sont à priori deux pbs distincts (cf les messages d'erreur dans les logs).
Allouer 256Mo à php en production me parait aberrant, et accessoirement un bon moyen de crasher le serveur (car si chaque processus peut prendre 256Mo, il y a des chance pour que l'on dépasse rapidement la mémoire disponible, ça va commencer à swapper, donc être plus lent, donc augmenter le nb de processus, donc augmenter la conso de RAM...).
32Mo doivent suffire, sinon pousser à 48 ou 64 mais bien vérifier que c'est compatible avec le maxClient d'apache (Nb Mo pour php x maxClient apache doit rester inférieur à la RAM, et il faut en laisser un peu pour le reste). Par ex, avec 4Go de Ram, si on laisse 2Go pour l'OS et la base de données, à 256Mo/processus php ça donnerait un maxClients apache de 8 ! (64 clients avec 32Mo).
Évidemment, c'est très différent avec php en module (la ram allouée à php l'est pour chaque process apache) ou en cgi (les processus apache et php sont distincts, donc chacun sa RAM, et comme la plupart des requetes web concernent du statique, elle vont concerner des process apache mais pas php ce qui permet d'augmenter la ram pour php sans trop de risque).
Mais si vous rencontrez ce genre de problème de performances, il faut se pencher plus sérieusement sur la conf php/apache, passer en fastCgi, installer memCache, etc. (la littérature est abondante sur la question).
dcaillibaud
13