Memcachedを導入する
WIKIPLUSには様々なキャッシュ機構が備わっています。このキャッシュ機構をすべて有効にするためにはMemcachedの導入が必要です。
キャッシュをメモリ上に保存するため、非常に高速な動作が可能になります。
ここでは、Red Hat Enterprise Linux 6の場合を例に、Memcachedを導入する方法をご案内します。
パッケージのインストールと起動
リポジトリ設定
WIKIPLUS 3.0までは当社が提供するMemcachedパッケージを利用していましたが、WIKIPLUS 4.0より標準リポジトリのパッケージを利用するよう変更されました。
そのため、あらかじめ以下を行う必要があります。
- /etc/yum.repos.d/jpc-wikiplus.repo
- libevent*とmemcachedを除外します。
- /etc/yum.repos.d/pgdg-94-redhat.repo(9.4の場合)
- libevent*とcompat-libevent*を除外します。
/etc/yum.repos.d/jpc-wikiplus.repo
[jpc-releases] (略) [jpc-wikiplus] (略) [jpc-wikiplus-deps] exclude=libevent*,memcached [←追記] (略)
/etc/yum.repos.d/pgdg-94-redhat.repo(9.4の場合)
[pgdg94] exclude=libevent*,compat-libevent* [←追記] (略)
インストール
# yum install memcached php-memcache
設定
/etc/sysconfig/memcachedを編集します。設定内容は、収容する予定のインスタンス数やインスタンスが持つコンテンツサイズなど、様々な側面で変化します。
まずはデフォルトの状態で開始し、運用において適宜チューニングをしてもよいでしょう。
起動
Memcachedを起動します。PHPのプロセスが起動している場合も考慮し、あわせてApacheも再起動します。
# service memcached start # chkconfig memcached on # service httpd restart
起動したら、memcached-toolコマンドで接続ができることを確認します。未設定のため、何も保存されていません。
# memcached-tool localhost display # Item_Size Max_age Pages Count Full? Evicted Evict_Time OOM
WIKIPLUSの設定
Memcachedの設定はserver-config.ymlに記述します。/opt/JPC/wikiplus/conf/server-config.ymlを編集し、設定します。
設定項目
WIKIPLUSではMemcachedに加えてPDOに保存する機能もありますが、ここではMemcacheにのみキャッシュを保存する場合を例としています。
それぞれの設定項目の詳細はserver-config.ymlに記載されたコメントをご参照ください。
SERVER | MEMCACHED | TYPE | 「Memcache」を入力します。 |
---|---|---|---|
HOST | MemcachedがインストールされたサーバーのFQDNまたはIPアドレスを入力します。 | ||
PORT | Memcachedの待ち受けポート番号を入力します。 | ||
CONNECTION_POOL | 「true」を入力します。 | ||
DEFAULT_TIMEOUT | データの保持時間のデフォルト値です。キャッシュを保存するプログラムにより異なりますので、ここでは指定されなかった場合の保持時間となります。 |
設定例
SERVER: MEMCACHED: TYPE: Memcache HOST: localhost PORT: 11211 CONNECTION_POOL: true DEFAULT_TIMEOUT: 3600
確認
WIKIPLUSのインスタンスの公開側URLまたは編集側URLにアクセスし、Memcachedにデータが保存されたことを確認します。
[root@wp1 ~]# memcached-tool localhost display # Item_Size Max_age Pages Count Full? Evicted Evict_Time OOM 5 240B 2554s 1 1 no 0 0 0 9 600B 2554s 1 2 no 0 0 0 10 752B 2554s 1 2 no 0 0 0 11 944B 2554s 1 3 no 0 0 0 12 1.2K 2554s 1 2 no 0 0 0 13 1.4K 2554s 1 1 no 0 0 0 14 1.8K 2554s 1 3 no 0 0 0 15 2.3K 2554s 1 1 no 0 0 0 18 4.4K 0s 1 0 no 0 0 0 19 5.5K 2554s 1 1 no 0 0 0 21 8.7K 2554s 1 1 no 0 0 0 22 10.8K 2554s 1 1 no 0 0 0 26 26.5K 2554s 1 1 no 0 0 0