Tengo Drupal 7, apc con php-fpm y apache detrás del barniz y 512 MB de RAM.
Mido el tiempo de ejecución de la página con el módulo de desarrollo.
El tiempo de consulta de la base de datos es bajo (62 ms) en comparación con el tiempo de ejecución de la página, que es de 854 ms. Eso significa que hay un problema con la configuración de PHP y APC.
Mi configuración actual es solo
apc.shm_size = 64
apc.stat=1
¿Cómo puedo mejorar?
¿Cuáles son las mejores configuraciones para Drupal dada la configuración anterior?
Gracias
fuente
Este es uno de esos "cuánto tiempo dura un trozo de preguntas de cuerda".
Lo que es bueno para un sitio de alto volumen puede no ser lo mismo para un sitio de bajo volumen con muchos módulos, y puede no ser lo mismo para un sitio de volumen medio con solo unos pocos módulos habilitados. Otros sitios que se ejecutan en el servidor también pueden estar consumiendo la memoria que APC tiene disponible.
Mi punto de partida es
Luego ajusto la configuración del servidor, pero de nuevo, no hay un tamaño único para todos los ajustes.
Busque apc.php (probablemente ubicado en /usr/share/pear/apc.php) e instálelo en el DOCROOT para su instalación de Drupal. Bloquéelo a su dirección IP a través de la configuración de Apache. Edite el nombre de usuario / contraseña dentro y luego busque. Luego verá sus estadísticas APC.
Reconfigure el parámetro shm_size para minimizar las fallas de caché. Idealmente, desea darle suficiente memoria para que nunca se pierda la memoria caché de un archivo, más algo de memoria adicional para la memoria caché de usuario de APC.
Optimice TTL para evitar la acumulación de caché. Si no está editando archivos, puede aumentar este número.
enable_cli es útil cuando usa drush mucho, por lo que drush usa los archivos en caché de APC.
rfc1867 es útil para cargar archivos.
También noté el php-fpm en el título. Esto complica las cosas y está realmente más allá del alcance de Drupal Answers. Puede obtener mejores respuestas en Server Fault , ya que muchos de los ajustes de configuración del sistema no pertenecen a Drupal directamente.
fuente
APC simplemente mejora la carga y el análisis de archivos PHP. Una gran parte es también el tiempo de ejecución en sí. Hay muchos factores que pueden aumentar el tiempo de ejecución, incluidos los errores (especialmente los errores relacionados con la memoria caché), la sobrecarga interna (por ejemplo, drupal_alter (), module_implements ()), etc.
Como usted pidió y ya fue sugerido por mikeytown2, usaría xhprof (lo prefiero a xdebug en estos días ya que proporciona acceso directo y rápido al resultado y no requiere herramientas adicionales) para averiguar dónde están sus cuellos de botella.
Recientemente escribí dos publicaciones de blog sobre el uso de xhprof dentro de Drupal y los típicos cuellos de botella , que pueden resultar interesantes.
fuente