Este team redactor ha estado mucho tiempo buscando para dar solución a tus búsquedas, te ofrecemos la solución por esto nuestro objetivo es resultarte de gran ayuda.
Solución:
Almacenamiento en caché, almacenamiento en caché y almacenamiento en caché.
Algunas sugerencias que he dado anteriormente a una pregunta similar sobre hacer
- Poner Varnish u otro proxy inverso frente a tu http-deamon es probablemente lo mejor que puedes hacer.
- Durante DrupalCon Copehagen, Rasmus declaró que usar un caché de código de operación php, como APC, es una de las mejores cosas que puede hacer para acelerar PHP en general. El rendimiento mejora con las versiones más recientes de PHP. También hay beneficios adicionales para actualizar PHP cuando actualiza Drupal. De 6 a 8, Drupal pasará por un cambio importante hacia la orientación a objetos, que también es donde la mayoría de las mejoras de rendimiento ocurren en las versiones más nuevas de PHP.
- Memcache es una opción popular para acelerar la caché, colocando la caché en la memoria en lugar de en el disco.
- Los paneles + almacenamiento en caché combinados con acciones de caché pueden aumentar el rendimiento de manera significativa, incluso para los usuarios que han iniciado sesión, ya que admite una lógica bastante compleja.
- Entity Cache es un buen impulso de velocidad de cero conf para cualquiera que use Drupal 7.
- Los sitios con mucha escritura tienen menos soluciones “bien establecidas”. Algunas opciones incluyen.
- Mover escrituras frecuentes por completo, por ejemplo, estadísticas, a otro lugar, como Google Analytics.
- Almacenamiento en caché de operaciones de escritura frecuentes con una solución personalizada en algo como NodeJS que escribirá en la base de datos una vez cada X segundo.
- Sacrifique el ACID sagrado y use una base de datos como MongoDB. (Ver el comentario de Berdir a continuación)
- Agrupe su base de datos SQL. Lee de una base de datos, escribe en otra. Esto es nativo de D7 y Pressflow puede ayudar con eso en D6.
Estas son notas de mis experiencias y pueden variar de lo que otros experimentan. Utilizo predominantemente la pila LAMP y he considerado lo mismo en mis sugerencias.
Reglas de pulgar para el almacenamiento en caché que generalmente sigo.
- Procesar una vez Usar varias veces.
- Viva con datos obsoletos cuando sea posible
- Borre cachés con poca frecuencia y manténgalo muy específico.
- Cuando sea posible, haga los cambios en el nivel más bajo de la pila. LAMP – DCCc: Linux, Apache, Mysql, PHP, Drupal Core, Contrib y módulo personalizado.
Mejorar el rendimiento de un sitio Drupal (en orden creciente de complejidad)
-
Mantenga el núcleo actualizado, el módulo contrib y los temas actualizados. Sí, importa.
-
Instale APC en su servidor. (Movido al principio según la sugerencia de Letharion)
-
Almacenamiento en caché de páginas: admin / config / development / performance Diferencia entre la vida útil mínima de la caché y la caducidad de las páginas almacenadas en caché
- Almacenamiento en caché de bloques https://drupal.org/project/blockcache_alter Opciones de almacenamiento en caché para todos los bloques.
- Archivos agregados javascript y css – Mejoras en la interfaz https://www.drupal.org/project/advagg
- Deshabilite los módulos innecesarios. Cada módulo aumenta la cantidad de código que debe estar disponible para la carga de una página. Y también aumenta el número de búsquedas. Donde sea posible, use un módulo genérico en lugar de un módulo múltiple que tenga funcionalidades específicas.
- Contenido de vistas en caché: almacenamiento en caché con reconocimiento de contenido para vistas https://www.drupal.org/project/views_content_cache
- Deshabilitar el registro de la base de datos: use https://drupal.org/project/syslog_ng
- Reducir errores 404 – http://www.brokenlinkcheck.com/
- Respuestas rápidas 404 – https://drupal.org/project/fast_404 – Intente manejar a nivel de servidor.
- Validaciones del lado del cliente: https://www.drupal.org/project/clientside_validation
- Comprimir imagen – https://www.drupal.org/project/imageapi_optimize
- Carga diferida de imágenes: no cargue imágenes innecesarias: https://www.drupal.org/project/lazyloader
-
Utilice hojas de Sprite: https://www.drupal.org/project/spritesheets
-
Establezca el valor mínimo de tiempo de vida de la caché en un número más alto y use módulos de borrado de caché para borrar las cachés de páginas específicas: siempre que edito / actualizo un nodo, todas las cachés de página para usuarios anónimos se pierden
- Utilice el módulo de desarrollo para ver consultas.
- Reescribir consultas de vistas / evitar vistas si es una exageración.
- XHProf: https://www.drupal.org/project/XHProf
- FPM, HHVM.
- Perfilado y ajuste de bases de datos: https://www.drupal.org/project/dbtuner
- Utilice Boost, no realice Bootstrap DB si no es necesario. https://drupal.org/project/boost Para la mayoría de los sitios pequeños y medianos, Boost es lo suficientemente bueno y es posible que no necesite Proxies inversos o algo así.
- Use CDN: https://www.drupal.org/project/cdn Es fácil de configurar.
- Si sus tablas de caché son enormes, use Memcached: si puede instalar Memcached y configurar la RAM, no es tan complejo como parece.
- Etags: configure Etags correctamente. https://developer.yahoo.com/blogs/ydnfiveblog/high-performance-sites-rule-13-configure-etags-7211.html
- Usar servidor proxy inverso – Barniz (al menos para activos). Ayuda mucho si la mayoría de sus usuarios son anónimos.
- Transferencia comprimida: habilita la compresión gzip
- Keep Alive: use conexiones persistentes siempre que sea posible.
- JPEG progresivo –
- CACHING EN CÓDIGO: el blog de Eaton es increíble. http://www.lullabot.com/blog/article/beginners-guide-caching-data-drupal-7
- Implementar Cache Warming – https://www.drupal.org/project/cache_warmer – Cache Caliente las páginas antes de que el usuario final las acceda.
- Master Slave DB Config: https://www.drupal.org/project/autoslave facilita la configuración de uno.
- Clústeres de bases de datos: https://stackoverflow.com/questions/1163216/database-cluster-and-load-balancing
- Load Balancers -http: //en.wikipedia.org/wiki/Load_balancing_ (informática)
- Utilice el calentamiento de caché heurístico: https://www.drupal.org/project/cache_graceful
- Almacenamiento en caché de usuarios autenticados: https://www.drupal.org/project/authcache
El módulo Boost también es bastante útil, crea static cachés de archivos de sus páginas web. Es principalmente para sitios web con mucho tráfico de usuarios anónimos.
Boost proporciona static El almacenamiento en caché de páginas para Drupal permite un aumento significativo del rendimiento y la escalabilidad para los sitios que reciben principalmente tráfico anónimo. Para el alojamiento compartido, esta es su mejor opción en términos de mejorar el rendimiento. En servidores dedicados, es posible que desee considerar Varnish en su lugar.
Apache es totalmente compatible, con Nginx, Lighttpd e IIS 7 semi-compatibles. Boost almacenará en caché y comprimirá gzip html, xml, ajax, css y javascript. Impulsa la lógica de caducidad de la caché es muy avanzada; es bastante sencillo tener diferentes duraciones de caché para diferentes partes de su sitio. El rastreador integrado se asegura de que el contenido caducado se regenere rápidamente para una carga rápida de la página.
Recuerda que tienes la capacidad de interpretar tu experiencia .