WordPress Popular Postsは徐々に重くなるのが悩みの種

WordPressサイトで手軽にランキング表示が出来る便利なプラグイン「WordPress Popular Posts」では有りますが、最近徐々に重くなってくるという悩みを抱えております・・・というぼやき。

WordPress Popular Postsは徐々に重くなる

1.jpg

WordPress Popular Posts(以下WPP)は現在月間600万PVぐらい有るサイトでの重さが顕著に現れており、P3で計測するとなんと1秒近くも読み込みに時間が掛かり、プラグイン全体で69%を占めておりました。

という計測をしたのが昨夜で、サイト重いなぁ・・・と思いつつも放置していたのですが、とうとう今朝Nginxがタイムアウトエラーを起こしてしまいました。

WPPをインストールし直したらデータがリセットされて負荷は解消する

サイトは開かなくなったのですがWordPressの管理画面は開いたので、プラグインからWPPを一旦削除(ここから削除したらWPPのデータもリセットされる)し再度インストール。

2.jpg

再インストール後はいままでの集計ログなどなどが全部リセットされて身軽になったのか、読み込みも0.05秒となりました。実はこの現象は去年も一度起こっており、たしか前起こったのは半年位前でした。6ヶ月✕600万で3,600万PV分ぐらい溜まったら極度に重くなるのだろうか。

WPPが重くなった時の適切な対処法(未検証)

WPP管理画面からデータはリセット出来た

上で僕はプラグインを一旦再インストールしましたが、よくよく調べたらWPPの設定画面にデータリセット項目が有りました(笑)

3.jpg

[設定] -> [WordPress Popular Posts] -> [Tools]の一番下にWPPデータクリアのボタンが有ります。WPPのランキングデータは「24時間・1週間・1ヶ月」と「全期間データ」の2つのテーブルに分かれているようですね。

まぁ、最近のデータだけ消しても重さが解消するとはあまり思えないのですが、今度重くなったらEmpty cacheだけ消してどうなるか検証してみよ。

WPP Cache Expiry Policyの設定

4.jpg

で、WPPの管理画面を眺めていたら「WPP Cache Expiry Policy」という気になるの設定を発見。デフォルトでは「Never cache」と無効になってあり、説明にはこう書いてある。

Sets WPP’s cache expiration time. WPP can cache the popular list for a specified amount of time. Recommended for large / high traffic sites.

どうやらWPPのキャッシュ機能を有効に出来るようだ。大型・高トラフィックのサイトにオススメだぜって書いてあるので、これを有効にすればWPPの重さが解消するかもしれない。

5.jpg

とりあえず「Enable caching」にしてキャッシュの有効期間は1時間に設定してみた。適切な期間が経験が無いので良くわからないのだが・・・今後色々試してみよう。

というわけで、WPPは使っていたら徐々に重くなるというぼやきでした。色々試してみて良い解決方法が有ればまた書いてみます。