web-dev-qa-db-ja.com

Drupal 7をAPC、Varnish、Memcacheで使用すると、どのキャッシュにどのビンを配置するのですか?

Drupal 7のウェブサイトを最適化しています。ワニス、memcache、APCをすべてインストールし、それぞれのDrupal 7モジュールで動作しています。settings.phpで私が持っています $conf以下のオプション。

私の質問は、パフォーマンスを向上させ、これらすべてのキャッシュを適切に連携させることです。構成オプションを追加する必要がありますか?

Readmeモジュールは通常、単一のキャッシュシステムを想定しています。 3つの個別のキャッシュバックエンドを実行してパフォーマンスを向上させるために必要な調整はありますか?

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

私には大丈夫に見えます。

試すことができるのは、Memcacheオプションを試してみることです。たとえば、圧縮フラグがありますが、圧縮/圧縮解除を行うためのCPU使用率が高いため、有効にすることが理にかなっているかどうかは、通常、サイトに依存します。

また、page_cache_invoke_hooksフラグはもう必要ないと思います。 http://drupal.org/node/804864 を参照してください。これらのフックを実行する必要がない場合は設定できますが、Varnishが機能する必要はありません。

複数のウェブサーバーでAPCキャッシュを使用すると、1つのサーバーでキャッシュをクリアするときに不整合が発生するため、複数のキャッシュがある場合は、キャッシュとcache_bootstrapにもMemcacheを使用することをお勧めします。また、APCキャッシュを使用するときに安定性の問題がありましたが、すべてのキャッシュに使用しましたが、これが問題だった可能性があります。

6
Berdir

MemcacheサーバーとVarnishを使用して、各Webサーバーでローカルに同様のセットアップを実行しています。 Varnishを使用したローカルでのページキャッシングは、memcacheを使用する場合ほど効果的ではないと考えました。

MongoDBも実行していて、共有リソースでもあるので、何かにMongoDBを使用することを検討しています。

2
Jerry Sumpton