Utilizzando Drupal 7 con APC, Varnish e Memcache, quali contenitori mettere in quale cache?


12

Sto ottimizzando un sito Web Drupal 7 e ho vernice, memcache e APC tutti installati e funzionanti con i loro singoli moduli Drupal 7. Nel mio settings.php ho le $confseguenti opzioni.

La mia domanda è di ottenere prestazioni migliori e di far funzionare bene tutte queste cache, devo aggiungere più opzioni di configurazione?

Il readme del modulo di solito assume un unico sistema di cache. Sono necessari tweet per ottenere prestazioni migliori dall'esecuzione di 3 back-end di cache separati?

// 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';

Mi sembra che la pagina del progetto per APC risponda piuttosto bene alla tua domanda.
Letharion,

Sì, seguirò questo consiglio ... "Usa APC per le cache che non cambiano spesso e non cresceranno troppo per evitare la frammentazione. L'impostazione predefinita di APC ti permetterà di ..", ma ho ancora chiesto questo domanda perché non tiene conto anche di Varnish, potrebbero esserci alcune modifiche alla configurazione che mi mancano, pubblicherò esattamente ciò che finisco per usare.
user1073319

Risposte:


6

Mi sembra a posto.

Quello che puoi provare è giocare con le opzioni di Memcache. C'è ad esempio un flag di compressione, ma di solito dipende dal sito se ha senso abilitarlo perché hai un utilizzo della CPU più elevato per eseguire la compressione / decompressione.

Penso anche che il flag page_cache_invoke_hooks non sia più necessario, vedi http://drupal.org/node/804864 . Se non hai bisogno di quei ganci per funzionare, puoi impostarlo, ma non è più necessario che Varnish funzioni.

L'uso della cache APC con più server Web significa che si verificano incoerenze quando si cancellano le cache su un server, quindi se ne si hanno più, probabilmente si desidera utilizzare Memcache anche per cache e cache_bootstrap. Ho anche avuto problemi di stabilità durante l'utilizzo della cache APC ma l'ho usato per tutte le cache, che potrebbe essere stato il problema.


C'è qualche problema con l'utilizzo di più di un sistema di memorizzazione nella cache come apc, memcache, ecc?
chrisjlee,

No, puoi mescolarli mentre guardi. Potresti mettere un cestino della cache più piccolo come 'cache' in APC che è più veloce ma di solito non ha molto spazio e metti quelli più grandi in memcache.
Berdir,

Grazie. Sapresti dove posso scoprire come farlo?
chrisjlee,

Ogni cestino della cache può essere configurato per utilizzare un backend di cache specifico, la maggior parte dei backend di cache viene fornita con la documentazione su come configurarli e puoi combinarlo come desideri.
Berdir,

2

Sto eseguendo una configurazione simile con server memcache e vernice locale su ciascun server web. Ho pensato che la memorizzazione nella cache della pagina localmente con Varnish non sarebbe stata così efficace come usare memcache.

Sto pensando di usare MongoDB per qualcosa dal momento che l'ho anche in esecuzione ed è anche una risorsa condivisa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.