Usando Drupal 7 con APC, Varnish y Memcache, ¿qué contenedores poner en qué caché?

12

Estoy optimizando un sitio web de Drupal 7 y tengo barniz, memcache y APC instalados y trabajando con sus módulos individuales de Drupal 7. En mi settings.php tengo las $confsiguientes opciones.

Mi pregunta es para obtener un mejor rendimiento y hacer que todas estas cachés funcionen bien juntas, ¿necesito agregar más opciones de configuración?

El módulo Léame generalmente asume un solo sistema de caché. ¿Se necesitan algunos ajustes para obtener un mejor rendimiento al ejecutar 3 backends de almacenamiento en caché separados?

// Add Varnish as the page cache handler.
$conf['cache_backends'][] = 'sites/all/modules/varnish/varnish.cache.inc';
$conf['cache_class_cache_page'] = 'VarnishCache';
// Drupal 7 does not cache pages when we invoke hooks during bootstrap.
// This needs to be disabled.
$conf['page_cache_invoke_hooks'] = FALSE;

$conf['cache_backends'][] = 'sites/all/modules/apc/drupal_apc_cache.inc';
$conf['cache_class_cache'] = 'DrupalAPCCache';
$conf['cache_class_cache_bootstrap'] = 'DrupalAPCCache';
//$conf['apc_show_debug'] = TRUE;  // Remove the slashes to use debug mode.

$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
usuario1073319
fuente
Me parece que la página del proyecto para APC responde a su pregunta bastante bien.
Letharion
Sí, voy a tomar este consejo ... "Use APC para cachés que no cambian con frecuencia y no crecerán demasiado para evitar la fragmentación. La configuración predeterminada de APC le permitirá ...", pero aún así pregunté esto pregunta porque no tiene en cuenta Varnish también, puede haber algunos cambios de configuración específicos que me faltan, publicaré exactamente lo que termino usando.
user1073319

Respuestas:

6

A mí me parece bien.

Lo que puedes probar es jugar con las opciones de Memcache. Hay, por ejemplo, un indicador de compresión, pero generalmente depende del sitio si tiene sentido habilitarlo porque entonces tiene un mayor uso de CPU para hacer la compresión / descompresión.

También creo que la bandera page_cache_invoke_hooks ya no es necesaria, consulte http://drupal.org/node/804864 . Si no necesita esos ganchos para correr, puede configurarlo, pero ya no es necesario que Varnish funcione.

El uso de la memoria caché de APC con varios servidores web significa que se encuentran inconsistencias al borrar las memorias caché en un servidor, por lo que si tiene varias, probablemente también quiera usar Memcache para la memoria caché y cache_bootstrap. También tuve problemas de estabilidad cuando utilicé el caché de APC pero lo utilicé para todos los cachés, lo que podría haber sido el problema.

Berdir
fuente
¿Hay algún problema con el uso de más de un sistema de almacenamiento en caché como apc, memcache, etc.?
chrisjlee
No, puedes mezclarlos mientras miras. Puede colocar un contenedor de caché más pequeño como 'caché' en APC, que es más rápido pero no tiene mucho espacio por lo general y coloca los más grandes en memcache.
Berdir el
Gracias. ¿Sabrías dónde puedo averiguar cómo hacerlo?
chrisjlee 05 de
Cada contenedor de caché se puede configurar para usar un backend de caché específico, la mayoría de los backends de caché vienen con documentación sobre cómo configurarlos y puede combinarlos como desee.
Berdir
2

Estoy ejecutando una configuración similar con servidores memcache y Varnish localmente en cada servidor web. Pensé que el almacenamiento en caché de páginas localmente con Varnish no sería tan efectivo como usar memcache.

Estoy considerando usar MongoDB para algo ya que también lo tengo ejecutándose y también es un recurso compartido.

Jerry Sumpton
fuente