Drupal 7 Opciones de optimización del Rendimiento y Lista de Verificación

Por Juana Marques @neolo

A pesar de lo grande que el núcleo de Drupal 7 puede ser, no escala bien para los sitios web con mucho contenido y/o una gran cantidad de usuarios. Para realizar un mejor desempeño en estas situaciones, es necesario hacer uso de varias estrategias, herramientas y técnicas.

Aunque algunos de los items mencionados aquí pueden simplemente ser habilitados en todos los sitios de Drupal para aumentar el rendimiento, en cambio recomiendo que la gente se dirija a las áreas problemáticas que serán diferentes para cada situación. Tome una perspectiva amplia y las áreas problemáticas se reducen para alcanzar un objetivo específico de rendimiento. Básicamente, es esencial tomar medidas antes y después de hacer cambios. De lo contrario, podría estar incrementando la complejidad innecesariamente y enfocándose en áreas equivocadas, de ese modo desaparecen las oportunidades para mayores ganancias.

He dividió este articulo en categorías separadas enumeradas abajo. Haga clic en cualquiera de ellas para saltar a la sección respectiva.

Las Mejores Practicas de Configuración.

  • Desactivar los módulos no utilizados y no esenciales. Cargando código adicional innecesariamente consumirá recursos adicionales del servidor.
  • Desactivar el módulo de estadísticas, ya que escribe en la base de datos en cada golpe. Probablemente esté utilizando Google Analytics de todos modos.
  • Desactivar el módulo Administrador de actualizaciones en Producción. Como parte de su proceso de DevOps, después de sincronizar su servidor Desarrollo / Integración con la conexión o de producción, habilítelo allí. Su servidor de producción no necesita permanecer un tiempo de sondeo en drupal.org.
  • Habilitar el almacenamiento en caché de todo el sitio en Administrar "Configuración" Desarrollo "Rendimiento.
  • Convertir imágenes no transparentes a JPG (con algunas excepciones - véase el primer comentario más abajo).

Vistas en Cache

Como el módulo de Vistas es el módulo contribuido más popular, la mayoría de nosotros lo usamos para mostrar el contenido de varias maneras. Las instancias de las vistas deberían ser almacenadas en caché de modo tal que cuando se accede, una copia en caché es retornada en vez de tener que reconstruir cada vista cada vez que es cargada. Hay dos (2) opciones aquí.

  • Almacenamiento en caché basado en el tiempo para cada vista visualizada (se incluye con Vistas)
  • Vistas caché de contenido: Actualiza de cada vista sólo cuando su elemento constituyente ha sido actualizado.


Si usted tiene demasiado contenido y está utilizando paginación de vistas, puede desear considerar el uso de Vistas Litepager. Trabajará alrededor del CALCULO de consultas lentas en las tablas InnoDB, los que utilizan el tipo de tabla-motor por defecto en MySQL.

Administración del Sistema

  • Caché PHP Alternativo (APC) para PHP <5.5. (Esto es parte del núcleo de PHP en las versiones más recientes.)
  • PHP-FPM (una aplicación FastCGI) en vez de mod_php.
  • Nginx: Una alternativa para el servidor Web ubicuo de Apache.
  • Syslog: Registro del SO integrado: Envía registros a su sistema operativo en vez de escribir a su base de datos.
  • Unidades de estado sólido (SSD): Estos cuestan más, pero puede permitirle utilizarlos en lugar de las unidades clásicas de disco duro (HDDs) en su hardware del servidor.
  • Deshabilitar el cron automático y ejecutar una tarea de cron adecuada: Asegúrese de que los usuarios no estén ejecutando tareas periódicas antes de ver el contenido. Generalmente, no es necesario ejecutarlo más de una vez por día, pero si es necesario un control más granular (sobre cuándo se ejecutan las tareas), uno puede configurar el módulo de Elysia Cron.

Remplazos de Caché

El sitio Drupal predeterminado de almacenamiento en caché no es muy eficiente. Como resultado, los mecanismos alternativos han surgido para llenar el vacío.

Almacenar y Optimizar componentes específicos

Si hay componentes específicos de su sitio web que necesitan un aumento de rendimiento, la siguiente lista le ayudará a orientar ciertas áreas en formas específicas.

  • Entidades de caché con caché Entidad.
  • Modos de vista de entidad de caché con Pantalla caché.
  • Mejorar el rendimiento CSS / JS con CSS Avanzado/ Agregación JS o caché agregada.
  • Paneles de contenido caché con Paneles de contenido caché o paneles Hash de caché.
  • Cargar imágenes sólo cuando sea necesario con Lazyloader Imagen o módulos similares.
  • Archivos Minify JS con Speedy.
  • Reaccionar más rápido a errores de página no encontrada con Fast 404.
  • Acelerar su sitio mediante la eliminación de los módulos no disponibles con el Módulo Missing.
  • Componentes de caché con usuarios registrados a través de Pagina de Almacenamiento de Usuarios Autenticados (Authcache).

Caché Externo

Es posible colocar otra aplicación delante de los suyas que servirán como copias almacenadas de sus páginas Web. Esto es llamado "aceleración HTTP" o "almacenamiento en caché de proxy inverso". Hay realmente solo un juego en la ciudad, pero tiene algunos complementos útiles.

Si usted no tiene acceso a Varnish (por lo general a causa de alojamiento compartido), entonces puede ejecutar Boost en su lugar.

Calentamiento / Preparación del Caché

Si los sistemas de almacenamientos se utilizan en gran medida (para una gran cantidad de contenido), pueden tomar bastante tiempo mientras la data es almacenada para reconstruirlo cuando son borradas las memorias caché. Si este es el caso,vale la pena considerar una herramienta para reconstruir eso después de que suceda alguna limpieza. De lo contrario, los primeros usuarios que golpean el sitio experimentarán luego tiempos de carga de pagina lentos.

Servicios

Hay muchos servicios que se pueden usar en conjunto con su sitio Drupal para monitorear y/o incrementar el rendimiento.

Almacenamiento Drupal Especifico

Hay algunas excelentes personas que gestionarán la infraestructura para usted. Si no necesita estar gestionando su propia pila de software, probablemente es mejor que lo hagan otros. Las opciones acerca del Almacenamiento Drupal especifico: Seleccionar un proveedor que ofrezca plataformas integrales que incluyan generalmente características de infraestructura mencionadas en este post.

Herramientas

Hay varias herramientas disponibles para el seguimiento de su rendimiento.

  • El módulo de rendimiento y escalabilidad Checklist
  • El registro de rendimiento y el módulo de Monitoreo
  • El registro de consultas lentas con el módulo Devel
  • El perfilador PHP XHProf

Algunos grandes consejos se pueden encontrar en los siguientes enlaces.