memcached の導入検討(2)

Memcached については、「特集:memcachedを知り尽くす」に詳しく解説されています。現在では、バージョン1.4.3ですが、memcachedの基本的な考え方やインストール方法はここで理解できます。

私自身は、Drupalを主に使っているので、「このmemcachedをどう既にあるDrupalにどう組み入れるか?」からが主題になります。これも既に開発されていて、モジュールそてい簡単に組み入れることができます→Memcache API and Integration

まず、PECL拡張モジュールのmemcacheモジュールをインストールする必要があります。この辺の説明はgoogleで検索すればいくらでもあるので簡単に済ませますが、"pecl install memcache"で簡単にインストールできます。次にphp.iniにライブラリの読み込み設定をして、phpinfo()で確認してください。

Memcache APIモジュールをダウンロードしたら、Drupalモジュールのインストールを行います。ここからが重要な作業になります。いつものモジュールインストールしか終わっていない状態では、実はMemcacheの管理画面しかインストールされません。次に、Drupalで使っているcacheメカニズム'cache_*'ファンクションを上書きする必要があります。オリジナルのcache.incに「上書きコピー」・・・・なんてしません。sites/all/modules/memcacheにインストールした場合、settings.phpに次のように記述するだけです。

$conf['cache_inc'] ='sites/all/modules/memcache/memcache.db.inc';

これだけです。これだけで終わりなんです。さらに、キャッシュの二通りの方法があります。まずは、上の例にあるmemcache.db.incなんですがこれは、memcachedが停止してしまった場合とかでも大丈夫なようにデータベースを併用するタイプです。もう一つが、memcache.incというもので、こちらはまったくデータベースを使いません。つまり、memcached が止まってしまえば、サイトも動作しなくなりますが、そのリスクと引き替えに最大限のパフォーマンス効果を生みます。データベースを使わないで全ての値を入れ込むことになるので、memcachedで使えるメモリを割り当てておく必要があります。

通常は、memcache.db.incを使うのが良いと思います。

他にもクラスタ化したり、キャッシュするものによってサーバを変更できる設定もありますが、それはもう少し試してから書きます。

ソーシャル・リンク

 

Drupal Association Organisation Member

お奨めサイトフィード

Drupal ブログ

Walnutsスタッフブログ

コンテンツ配信

ウィジェット