Optimiser PHP pour Drupal

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.

#

Excellent merci encore. ce produit est vraiment fantastique ! BruniX

BruniX

#

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).

#

Bonjour

Votre commentaire m’intéresse beaucoup . J’ai également des pages blanches , enfin . Mysql répond , le contenu apparait , mais tout ce qui est design est HS n’apparait pas . Et celui en cas d’effet » digg » .

J’ai mis 128 mo de ram pour PHP , je peux pas plus . J’ai changé de design , pour un plus léger . Le site absorbe la chose . Mais j’ai encore par moment des pages blanche .

Ma config ressemble a çà :

Performance site htaccess OVH

SetEnv ZEND_OPTIMIZER 1 SetEnv PHP_VER 5 FileETag none

PHP 5, Apache 1 and 2.

php_value magic_quotes_gpc 0 php_value register_globals 0 php_value session.auto_start 0 php_value mbstring.http_input pass php_value mbstring.http_output pass php_value mbstring.encoding_translation 0

Mais çà ne semble pas fonctionner au poil . J’ai trouvé personne qu’il puisse me renseigner sur les fonctionns a garder ou supprimer sur mon PHP core 5.2.13 … .

Si tu pouvais me filé un coup de pouce , ce serait cool .

Cordialement

#

Une page blanche est souvent synonyme de pb php, mais c’est une page avec rien dessus ;-) Si tu as qqchose (tu dis mysql répond et du contenu apparait), c’est que le pb est ailleurs.

Regarde les logs php pour en savoir plus (128Mo de RAM me semblent amplement suffisants).

#

Salut dcaillibaud

Alors ,les logs donnent çà :

[Wed May 26 06:31:18 2010] [error] [host www.monsite.fr] File does not exist : /robots.txt

ou çà : ( page blanche ou plus de design )

[26/May/2010:12:04:36 +0200] «GET / HTTP/1.1» 304 - «-«

Au lieu de çà : ( écran normal )

[26/May/2010:12:04:33 +0200] «GET /default/files/css/css_4df629acab7493bc204099adcb02895f.css HTTP/1.1» 304 - «http://www.monsite.fr

On s’aperçoit , pour une raison inconnue que le design n’est pas chargé . Est-ce Apache en tord ? .

Cordialement

Syndiquer le contenu