Memcacheインスタンス(v1.4.4)でヒット率を55%に設定しており、ヒット率を向上させるために何ができるか疑問に思っています。私たちはマルチサイト構成(30以上のサイト)で、2つの負荷分散されたWebサーバーを使用しています。各Webサーバーにmemcachedのインスタンスがあります。
の中に settings.php
、 私が持っています:
$conf['memcache_servers'] = array(
'11.22.33.44:11211' => 'default',
'11.22.33.45:11211' => 'default',
);
$conf['memcache_bins'] = array('cache' => 'default');
$conf['memcache_key_prefix'] = $_SERVER['SERVER_NAME'];
ビンを使用してヒット率を向上させることを検討していますが、最新のmemcacheモジュールがすでにこれを実行しているという提案に出くわしましたが、モジュールの手順にビンの設定に関する指示が含まれているため、わかりません。
ビンがそれらの方法である場合、どの(テーブル?)が独自のビンを持つ必要があるかをどのように決定しますか?これらは私が私のサイトに持っているキャッシュテーブルです:
cache
cache_admin_menu (empty)
cache_block (empty)
cache_bootstrap
cache_field
cache_filter (empty)
cache_form (empty)
cache_image (empty)
cache_media_xml (empty)
cache_menu
cache_page (empty)
cache_path (empty)
cache_token (empty)
cache_update (empty)
cache_views
cache_views_data (empty)
ctools_css_cache (empty)
ctools_object_cache (empty)
ビンに加えて、memcachedの使用を改善するために他に何ができますか?
どうもありがとう!
多くの調査の結果、ヒット率とmemcachedの使用に役立つものを以下に示します。
Settings.phpのmemcached confは次のようになります。
$conf['memcache_bins'] = array('cache' => 'default');
$conf['memcache_options'] = array(
Memcached::OPT_COMPRESSION => TRUE,
Memcached::OPT_BINARY_PROTOCOL => TRUE,
);
$conf['memcache_persistent'] = TRUE;
$conf['memcache_key_prefix'] = $_SERVER['SERVER_NAME'];
最大ゲイン
ドキュメントでCPUサイクルが増加すると記載されていても、最大のメリットは圧縮を有効にすることでした。 VMには4つのCPUが割り当てられており、違いはわかりません。コンテンツの一部(この場合はカスタム記事)を作成するためのmemcached呼び出しの時間は、1250ミリ秒から150ミリ秒(NewRelicから取得)になりました。
ヒット率
私たちのヒット率は現在〜70%です-以前の55%よりはるかに優れていますが、一部の人が報告した90%+は静かではありません...クエストは続行します(-:
うまくいけば、これは他の誰かを助けます。他の改善に出くわしたり、修正や提案がある場合は、コメントや回答を投稿してください。
更新-memcaheモジュールのバージョン
バージョン1.0-beta4から1.0になり、ヒット率は87%になりました。ヒット率が70%を超えていなかったため、memcachedを再起動する必要がありました。現在64MBがmemcachedに割り当てられているため、これは私たちにとって大した問題ではありませんでした。