Cómo configurar un servidor con 4 g de memoria para ejecutar drupal 7

9

Estoy instalando Drupal 7 en un nuevo servidor con 4 GB de memoria. Me gustaría obtener algunos consejos sobre cómo configurarlo correctamente, cuánta memoria dar a MySQL y cuánta memoria dar a PHP. Una cosa que descubrí es que ejecutar Drupal 7 en el servidor Zend es tres veces más rápido que ejecutarlo en un servidor Apache normal. (Creo que tiene que ver con el almacenamiento en caché del código de operación. Noté que con el módulo de desarrollo usa un tercio de la memoria.

¿Puedes compartir tus configuraciones conmigo?

Nicola Peluchetti
fuente

Respuestas:

5

Si ya tiene datos de Drupal7, debe cargarlos en un entorno de ensayo y realizar un cambio de tamaño del búfer según la cantidad de datos que tenga.

Paso 1) Primero debe calcular los tamaños de búfer para su conjunto de datos .

Paso 2) Si los tamaños recomendados exceden el 75% de la RAM instalada (en su caso, 3GB), limite los búferes necesarios a 3GB.

Paso 3) Si tiene datos de InnoDB y no habilitó innodb_file_per_table, necesita limpiar InnoDB segmentando cada tabla en su propio espacio de tabla físico (esto solo debe hacerse una vez) .

Una vez que haya hecho esto, debe planear realizar esta auditoría de configuración (Pasos 1 y 2) cada 6 meses para asegurarse de tener el almacenamiento en caché adecuado de MySQL.

Curiosamente, abordé una pregunta similar a esta y la respondí el 15 de abril de 2011 .

RolandoMySQLDBA
fuente
4

Algunas cosas para mirar :

Un artículo para leer :

Rackspace: la implementación de Drupal en la nube con nginx y boost debería darle muchas ideas.

Pequeña cita sobre el almacenamiento en caché del código de operación:

Usamos APC como un caché de código de operación. Esto evita que el servidor vuelva a compilar el código PHP en cada carga de página. Además, todo encaja fácilmente en la RAM (generalmente le damos a APC 128MB de RAM). Esto disminuye drásticamente el uso de la CPU. Los usuarios registrados ahora pueden navegar por el sitio mucho más rápido. Pero todavía solo podemos manejar un número limitado de ellos. Podemos hacerlo un poco mejor. En lugar de consultar MySQL cada vez que vamos al caché, podemos almacenar estas tablas en la memoria. Aquí viene memcached y el módulo cacherouter.

Bart
fuente
2

Comencé con my_huge conf desde el directorio mysql; También agregué caché Varnish a la mezcla. Como ya descubrió, Zend mejora mucho el rendimiento.

Después de ejecutar durante unos días, ejecuté el script mysqltuner y actué sobre algunas de las recomendaciones, principalmente sobre el caché de la tabla temporal.

puntería
fuente
1

Dependiendo del tamaño del sitio, es posible que desee ver también memcached. Esto competirá por los recursos con mysql pero puede reducir la carga en él.

Jeremy French
fuente
En realidad, puede reducir tanto el InnoDB Buffer Pool como MyISAM Key Cache si memcached es lo suficientemente grande. De esa manera, memcached no compite con mysql, pero mysql simplemente complementará a memcached como un conducto de datos en lugar de como una base de datos principal. +1 por sugerir memcached primero !!!
RolandoMySQLDBA