Un sitio no optimizado de Drupal 7 con 2 GB de RAM puede atender satisfactoriamente entre 20 y 25 solicitudes por segundo. Si quieres ir más allá de eso, el sitio requerirá algunos ajustes. Lo que modifique depende de si la mayoría de los usuarios del sitio son anónimos o están autenticados. Estas son las principales cosas que puede hacer para mejorar el rendimiento:
El sitio sirve principalmente a usuarios anónimos:
1) Definitivamente instale y configure APC, memcache y entitycache.
2) Coloque el proxy Varnish frente al servidor web. Se tarda unos 30 minutos en instalar y configurar, pero reducirá drásticamente los tiempos de carga de la página. De hecho, Varnish puede manejar aproximadamente 300 solicitudes por segundo en una máquina de 2 GB si todas las páginas están en caché. Use el módulo Caducar para expirar solo las páginas seleccionadas en la actualización / eliminación de contenido.
3) Use el módulo de Agregación avanzada de CSS / JS para agregar archivos CSS y JS. Intente mover todos los archivos JS al final de la página. Pero tenga en cuenta que esto puede romper su sitio, así que implemente esto en producción después de una prueba exhaustiva. También experimente con la alineación de CSS crítico. En mi experiencia, disminuirá el tiempo de carga de la página en aproximadamente medio segundo.
4) CSS / JS / images deben tener un encabezado de vencimiento futuro. Esto asegurará que los navegadores no soliciten las mismas imágenes CSS / JS / una y otra vez.
5) Asegúrese de que el servidor web esté sirviendo páginas comprimidas / CSS / JS.
Después de implementar los 5 pasos anteriores, su servidor de 2 GB de RAM debería poder procesar 50 solicitudes por segundo con bastante facilidad.
El sitio sirve principalmente a usuarios autenticados:
Optimizar este sitio es más complejo. Dichos sitios se incluyen en una de las dos subcategorías para fines de optimización:
(a) La mayoría de las páginas en el sitio son idénticas, excepto 1 o 2 bloques que tienen información específica del usuario. Por ejemplo, el sitio de Drupal Commerce.
(b) La mayoría de las páginas están completamente personalizadas para el usuario. Por ejemplo, el sitio Drupal Commons.
Si su sitio pertenece a la categoría (a), aplique la mayoría de las técnicas que discutimos para el sitio que sirve principalmente a usuarios anónimos. La única diferencia es que para las páginas que no son de administrador, Varnish deberá eliminar la cookie SESSION del encabezado y servir las páginas almacenadas en caché. Utilice el módulo AJAX Block para bloques de servidores con información específica del usuario utilizando AJAX. De esta manera, la mayor parte de la página se servirá extremadamente rápido usando Varnish y luego la información específica del usuario se servirá a través de AJAX.
Si su sitio pertenece a la categoría (b), use el módulo Authcache. Prefiero no usarlo tanto como sea posible porque requiere bastante configuración y mantenimiento. Pero funciona muy bien. No será tan rápido como usar Varnish, pero podrá manejar 50 solicitudes por segundo que esté buscando.
Si está buscando ir más allá de lo que hemos discutido aquí, eche un vistazo a la Lista de verificación de optimización de rendimiento de Drupal . Divulgación: está escrito por mí. Cita una lista exhaustiva de cosas que puede hacer para que su sitio de Drupal sea increíblemente rápido.