人気ブログランキング ブログ村

【WordPress】wp-cron.phpを無効にして負荷を下げた話

このブログがあるレンタルサーバーのCPU負荷を下げた話です。

まず、このグラフをご覧ください。

負荷グラフ

これは、レンタルサーバーのサービスが提供している、CPU負荷のグラフです。WordPressで使いまくってる「PHP」でサーバーにCPU負荷をかけると上昇します。

12月3日から、いきなりほぼ0になってますよね。これ、何をしたかというと・・・

【WordPress】パフォーマンスアップ!wp-cron.phpを停止しよう【パフォーマンス】
...

・WordPressのcronを無効にする
(既定の設定では、アクセスがあるたびに wp-cron.php が動く)

・代わりにレンタルサーバーの提供しているcronを使って、1日数回 wp-cron.php を呼び出すようにする(以下のようなシェルスクリプトを動かす)

#!/bin/sh

cd /virtual/○○/public_html/

printf “\n—cron.sh akira-dq.net start—\n” > cron.log
curl -i -s http://akira-dq.net/wp-cron.php >> cron.log
printf “\n—cron.sh akira-dq.net end—\n” >> cron.log

「http://akira-dq.net/wp-cron.php」にはアクセス制限をかけてて、レンタルサーバー自身のIPアドレス以外は拒否しています。

<Files wp-cron.php>
Order deny,allow
Deny from all
Allow from ○○.○○.○○.○○
</Files>

.htacces にこれ書いてる(○○.○○.○○.○○はレンタルサーバーのIPアドレス)

その結果が冒頭のグラフ。

もう完全に wp-cron.php のせいだったとしか。

元々は、負荷対策というより、wp-cron.php にアクセスしてる人(BOT)がいて気持ち悪いなぁ、と思ってアクセス制限するところから始めて、予約投稿をちゃんと動かしながら制限する方法は・・・という流れで調べました。

あきら
あきら

1日に1万回アクセスあったら、それなりに重い処理が1万回動いてたのかなぁ?それなら、1万回→8回(現在の設定)に減って劇的に改善したのも分かる。頻度を減らすような簡単なオプション設定でもあれば・・・

タイトルとURLをコピーしました