WordPressサイトが遅い原因は「PHPのスリープ」かも?cron設定で対策する方法!XSERVERにて
管理しているWordPress(ワードプレス)のサイトをチェックする時、『最初だけ』いっつもおっそいなぁ。 と思ってたんです。ただ、作業を始めると遅さは感じないので、作業が終わる頃には「ま、いっか」となって終了。がいつものパターンだったのですが、ふと気になって調べてたら『PHPのスリープ』が原因!?ということがわかりました。
と言うわけで今回は『WordPressサイトが遅い原因は「PHPのスリープ」かも?PHPのcron設定で対策する方法!XSERVERにて』です。
目次
『最初だけ』遅く感じる原因
『最初だけ』いっつもおっそいなぁ。 と感じる原因は、
XServerなどの共有サーバーでは、『一定時間アクセスがないとPHPプロセスが終了(スリープ)する』といった行動が、負荷軽減のためにとられているそうです。
そのため、サイトへの訪問者がない時間がしばらく続くと、一旦PHPがスリープし、次にアクセスした人が『おっそ!』と感じる、と言った現象が起こるんですね。
PHPをスリープさせない!cron設定
そんなわけでその設定方法なのですが、至って簡単です。
まずは、管理してるサーバー(今回はXServer)の管理画面で、『Cron設定』の画面→『Cron設定追加』のタブにいき、以下のように設定します。(以下の6項目は必須)
| 項目 | 内容 | 説明 |
|---|---|---|
| 分 | */5 | 5分おきに実行する、という意味。 15分おきなら*/15、30分おきなら*/30 |
| 時間 | * | 毎時間実行する |
| 日 | * | 毎日実行する |
| 月 | * | 毎月実行する |
| 曜日 | * | 毎曜日実行する |
| コマンド | 以下に記載 | cronに伝える命令 一行を丸ごとコピペ |
コマンド部分は以下です。
/usr/bin/curl -s https://〇〇設定したいサイト〇〇.com/ > /dev/null 2>&1
このように時間の設定と、コマンドに一行追加して以下のような状態にして、

『追加』すればOKです!超簡単!!
ちなみにメモ部分は
「Webデザイン ABC」のPHPスリープを防ぐcron設定(5分間隔)
と書きましたが、適宜変えてくださいね。
まとめ
これで『5分おきに一回アクセスがされる=PHPがスリープしない状態』になるので、『最初だけ』いっつもおっそいなぁ。 と感じることはなくなるはずです。
これをやっても変わらないって時は、他に原因があることになりますので、その場合はさらに深掘りしてチェックしないと。。となりますが、
同じような症状の場合は、一度試してみる価値はあるのかな?と思いますので、一度試してみてください!
気になった点1:サーバーへの負荷について
この『5分間隔』というのが、サーバーにとっての負荷になるのかも?とちょっと気になったので調べてみたのですが、『5分間隔』くらいであればほぼ心配いらないようですね。
今回はXServerでの設定なのですが、このような共用サーバーであれば、1サイトが5分に1回アクセスをする、といった超軽い『1リクエスト』なんて至って普通のことですし、そう考えるとそれを行ったぐらいで問題になる、なんてことはまずないですもんね。
そんなわけで、cron自体もサーバー内部での超軽い動作なので、『5分に一回』の間隔くらいなら全然大丈夫なレベルのようです。
気になった点2:PHPがスリープする間隔について
PHPがスリープする間隔は、サーバー会社ごと(=サーバー設定)によって違うようですね。
有名どころの一般的な共用サーバーでは、「数分〜長くても30分程度」に設定されていることが多いようです。
ちなみにこの「スリープするまでの時間」は、リソース効率の観点、また、外部からの攻撃対策としてセキュリティ上、公表されてないことが多いようです。
Google AdS
関連記事
-
-
『reCAPTCHA v3』を問い合わせページのみ&左側に表示させる方法:その2
前回書いた『reCAPTCHA v3』を問い合わせページのみ&左側に表示させる方法:その1の続きです! 今…
-
-
IcoMoonでSVGスプライトを作ってSVGアイコンを使う方法:WordPress & html での設定方法
今までSVGアイコンはきちんと把握せず使ってきたので、少々トラブルがあっても『頻繁に使う訳ではないし、とりあえず使えてた…
-
-
WordPressのデータベースのテーブル接頭辞を、phpMyAdminで変更する方法
最近サーバーを変更してWordPressの引っ越しをしたのですが、引っ越し前のサーバーの初期設定でWordPressのデ…
-
-
ページネーションがおかしい!次のページに行かない原因と解決方法|WP-Pagenavi・表示設定を見直す
今まで何度もWordPressのテンプレートをカスタマイズし、問題なくページネーションは機能していたのですが、なぜか今回…
-
-
WordPressのテスト(ステージング)環境を簡単に作る方法・注意点:XSERVER + All in On WP Migration
今まで企業サイトの管理等では、最初から環境が整っているところばかりだったので、開発・テスト・ステージング環境はあまり深く…



