J'ai Drupal 7, apc avec php-fpm et apache derrière le vernis et 512 Mo de RAM.
Je mesure le temps d'exécution des pages avec le module devel.
Le temps d'interrogation de la base de données est faible (62 ms) par rapport au temps d'exécution de la page qui est de 854 ms. Cela signifie qu'il y a un problème avec les paramètres PHP et APC.
Mes paramètres actuels sont juste
apc.shm_size = 64
apc.stat=1
Comment puis-je m'améliorer?
Quels sont les meilleurs paramètres pour Drupal compte tenu de la configuration ci-dessus?
Merci
la source
C'est l'un de ces "combien de temps est un morceau de questions de chaîne".
Ce qui est bon pour un site à volume élevé peut ne pas être le même pour un site à faible volume avec beaucoup de modules, et peut ne pas être le même pour un site à volume moyen avec seulement quelques modules activés. D'autres sites exécutés sur le serveur peuvent également consommer de la mémoire disponible pour APC.
Mon point de départ est
J'ajuste ensuite les paramètres du serveur, mais encore une fois, il n'y a pas de taille unique pour tous les paramètres.
Recherchez apc.php (probablement situé dans /usr/share/pear/apc.php) et installez-le dans DOCROOT pour votre installation Drupal. Verrouillez-le sur votre adresse IP via la configuration Apache. Modifiez le nom d'utilisateur / mot de passe à l'intérieur, puis recherchez-le. Vous verrez alors vos statistiques APC.
Reconfigurez le paramètre shm_size pour minimiser les erreurs de cache. Idéalement, vous voulez lui donner juste assez de mémoire pour ne jamais manquer de cache pour un fichier, ainsi que de la mémoire supplémentaire pour le cache utilisateur APC.
Optimisez le TTL pour éviter la saturation du cache. Si vous ne modifiez pas de fichiers, vous pouvez augmenter ce nombre.
enable_cli est pratique lorsque vous utilisez beaucoup drush, de sorte que drush utilise les fichiers mis en cache d'APC.
rfc1867 est pratique pour les téléchargements de fichiers.
J'ai également remarqué le php-fpm dans le titre. Cela complique les choses et dépasse vraiment la portée de Drupal Answers. Vous pouvez obtenir de meilleures réponses à Server Fault , car la plupart des paramètres de configuration du système ne concernent pas directement Drupal.
la source
APC améliore simplement le chargement et l'analyse des fichiers PHP. Une grande partie est également le temps d'exécution lui-même. De nombreux facteurs peuvent augmenter le temps d'exécution, notamment les bogues (en particulier les bogues liés au cache), les frais généraux internes (par exemple, drupal_alter (), module_implements ()), etc.
Comme vous l'avez demandé et déjà suggéré par mikeytown2, j'utiliserais xhprof (je le préfère à xdebug de nos jours car il fournit un accès direct et rapide au résultat et ne nécessite aucun outil supplémentaire) pour savoir où se trouvent vos goulots d'étranglement.
J'ai récemment écrit deux articles de blog sur l' utilisation de xhprof dans Drupal et des goulots d'étranglement typiques , qui pourraient vous intéresser.
la source