WordPress Popular Postsの大規模サイトでの設定方法(負荷軽減と高速化)
WordPress Popular Postsはアクセスランキングを作成できるプラグインですが、サーバーに負荷が大きくかかるプラグインとしても有名です。
私も多くのサイトで利用しているプラグインですが、大規模サイトの場合サーバー負荷が大きく課題になることが多いです。WordPress Popular Postsを辞めるという選択肢もあるのですが、ランキング集計からこのプラグインを使ってほかにもコンテンツを独自に作っているためどうしてもこのまま使い続けたい状態でした。
そこでWordPress Popular Postsの設定で大規模サイト向けにカスタマイズできる項目がバージョン3.2.0から追加されているものもありましたのでその設定方法をまとめておきます。
大規模サイト向けのカスタマイズ設定
WordPress Popular Postsの設定画面の「Tool」タブをクリックします。
WPP Cache Expiry Policy
WPP Cache Expiry Policy:をNever cacheからEnable cachingに変更します。
この項目ではキャッシュの更新頻度(有効期限)を設定できます。デフォルトのNever cacheはキャッシュしない設定です。Enable cachingはキャッシュする期間を設定するときに選択します。
Enable cachingに変更すると次にRefresh cache everyの項目が表示されます。キャッシュ期限の設定を行います。
私は1Day(s)に設定しました。これはサイトによっても規模によっても違ってくると思いますので、サイトにあった期間に設定しましょう。もちろんキャッシュの期間が長い方がサイトの負荷は減ります。
「Apply」ボタンをクリックで反映保存されます。
Data Sampling
Data Sampling:をDisabledからEnabledに変更します。
この項目ではデータベースへの書き込みをデータサンプリングして行う設定にできます。デフォルトのDisabledは無効の設定です。Enabledは有効の設定です。
Enabledに変更して「Apply」ボタンをクリック(反映保存)すると次にSample Rateの項目が表示されています。サンプリングするデータのレートが設定できます。デフォルト値は100に設定されています。
大/高トラフィックのサイトでは、100のサンプリングレートが推奨されます。トラフィック量の少ないサイトでは、値を小さくする必要があります。と書かれていますので、数値を大きくするとデータベースの書き込み回数が減ります。100だと100で1カウントと言うことですね。
サイトの規模によると思いますが私は500に設定して様子を見てみようと思います。
↓GitHubに設定内容が詳しく説明されています。英語で記載されていますが、クロームで開いて右クリックして「日本語に翻訳」すると意味が分かります。
7. Performance · cabrerahector/wordpress-popular-posts Wiki · GitHub
キャッシュのクリア
上記の設定で負荷軽減の設定が完了ですが、キャッシュをクリアすることでサーバーの負荷も減ります。設定画面の最下部に「Empty cache」と「Clear all data」のボタンがあります。
Empty cacheは、24時間のランキング、1週間のランキング、1か月のランキングのキャッシュを削除できます。
Clear all dataは、全期間のキャッシュを削除できます。
設定前の膨大な不要なキャッシュは削除しておくと負荷軽減も図れます。