【WordPress】ページ表示のもっさり感を解消するならプラグイン:APCu Managerがオススメ【cocoon】

plugin プラグイン

 ページの表示スピードに関して悪戦苦闘している人は多いでしょう。

 テーマの高速化設定をしたのにもかかわらず、サーバーでコンテンツキャッシュやブラウザキャッシュもしてるのにと、思い通りにならない憤りは痛いほどよくわかります。

 サムネイルに使う画像にしても圧縮してWebPにまで変換してるのに何故か表示がもっさりしてる。

 そんな悩みを少しでも解決するお勧めのプラグインがAPCu Managerです。

画像やキャッシュの設定は『見た目』のダイエット。でも、肝心の『中身の計算』をサボらせてあげるのが、今回紹介するAPCu Managerです。

プラグイン:APCu Managerを使う恩恵とは

APCu Manager

 APCu Managerとはいったい自身のWebサイトに何をしてくれるのか。
 APCu Managerは簡単に言えば、サーバーからAPCu Managerに割り振ったメモリを使い、そのメモリの中にWebサイトを形作るデータを記憶するプラグインです。

 Webサイトを表示するにはサーバーの情報が入っている場所にわざわざ行って、その情報を引っ張って来ます。
 APCu Managerを使うと予め記憶してある情報を使ってWebサイトを表示します。わざわざサーバーに行って情報を引き出してWebサイトを表示するなんて事がない訳です。

 Webサイトの表示体感スピードが大きく飛躍します。
 実際にテーマcocoonでAPCu Managerを使うと中でどうなっているのか見てみましょう。

料理でいえば、注文が入るたびに野菜を切るのではなく、あらかじめカットしておいた材料(記憶)を鍋に入れるだけにするイメージです

APCu の分析

 このような解析画面が見れるようになりますが、これらの数字が何を示してるのか説明していきます。

※クリックで拡大します。

分析画面の項目

ヒット率
データベースに頼らずに記憶した情報を取り出せた数値です。

空きメモリ
割り振られたメモリ量の空き容量です。

オブジェクト
記憶している情報の断片の数です。

キーサチュレーション
現在の使用しているメモリで作られた記憶できる領域を、どれだけ使っているかです。ここの数値がオブジェクトを記憶している割合になります。

フラグメンテーション
記憶の出し入れを繰り返すことで記憶の収まりが悪くなっている割合、とでも言っておきます。

可能性
APCu Managerのシステムが正常に稼働し続けている割合です。

ヒット率が90%以上なら優秀です。

APCu Managerの設定画面

 ミコトホドではこの設定です。下にも項目が少しありますが、一切触れていません。

 この他にもう一つだけ表示できる画面があります。そこでは記憶しているオブジェクトが表示されており、それらを削除することが出来ます。

どのような時に手動で記憶(オブジェクト)を削除するべきか

 これはフラグメンテーションの数値が異常に高くなった時です。もしくはWebサイトの設定が反映されない、古い情報が表示されてしまう時です。
 コンテンツキャッシュのクリアやブラウザキャッシュのクリアをしても、表示が古い時はオブジェクトの削除をしてみましょう。
 オブジェクトのキャッシュを全て削除してもWebサイトが壊れる事はありません。

 空きメモリが0%に近づいた時にも削除しましょう。もし頻繁に0%になるようなら、メモリの割り当てを増やすタイミングかもしれません。

メモリ量とphp.iniの編集

 おそらく最初に割り振られているメモリ量は32MBです。最初にお試しで使う分には良いのですが、しばらく使っていくには頼りないです。
 現在ミコトホドで使っている数値は以下の様になります。

apc.enabled=1
apc.shm_size=128M
apc.entries_hint=16384
apc.ttl=3600
apc.gc_ttl=3600
apc.smart=128

 これをサーバーのphp.ini編集の入力欄に直接書き込みます。上記は128MBまで上げますが、段階を踏んで64MBでも良いでしょう。
 64MBのコードは以下になります。

apc.enabled=1
apc.shm_size=64M
apc.entries_hint=8192
apc.ttl=3600
apc.gc_ttl=3600
apc.smart=128

 これらのコードを有効化させるにはphp.iniの再起動(リセット)が必要ですが、Webサイトを5分~10分間、一切のアクセスを絶つことでも可能です。つまり、何もしないで放置で問題ありません。

 ミコトホドの経験談ですと、先に示した時間を放置しても一気に変わらず、徐々にメモリの最大量が増えて行った経験があります。一気に増えないのは、これから新しく記憶を溜めていくからです。焦らずに、数時間後の数値をチェックしてみましょう。

php.ini 各項目の説明

apc.enabled=1
これはAPCuの有効化を示すものになります。

apc.shm_size=64M
メモリの割り当てを64Mに設定。

apc.entries_hint=8192
記憶できるオブジェクトの数。

apc.ttl=3600
記憶するオブジェクトの有効時間(3600秒=一時間)

apc.gc_ttl=3600
有効期限が過ぎたオブジェクトを削除する間隔です。(3600秒=一時間)

apc.smart=128
これは有効期限が過ぎたオブジェクトの削除を、大きな容量から削除する為のものです。128(KB)以上の大きなオブジェクトから削除していきます。フラグメンテーションのパーセンテージの異常な上昇を防ぎます。数値は128と書きます。KBは必要ありません。

その他の高速化の設定や要点など

 テーマやプラグイン、その他サーバーの高速化の設定はそのまま使っても問題は無いと思います。しかし、機能同士の相性というものがあります。


 APCu ManagerとはWebサイトを表示する為のデータを予め記憶し、実際に表示するためにその記憶したデータを使って表示するものであり、データベース内のデータを速く表示させるために書き換えたりはしません。

 是非とも使ってみて、改善された表示スピードを体感してください。

コメント