WP Tuning (WPチューニング)

WordPressの性能チューニング(cron)

2016年11月6日

0
(0)

久々にWordPressにアクセスしてみたら、異様に初期表示までに時間がかかることが判明し@ITの「とにかく速いWordPress」の一連の記事を見ながらチューニングを実施してきました。

その中でab(apache bench)を使って性能測定していたのですが、異様にレスポンスが早い時と、遅い時があったので、ログをtail -fで表示させながらabを実行していたところ、どうもwp-cron.phpというものが定期的に実行されており、この実行に体感で5秒程度かかっていそうなことが判明しました。

218.45.184.224 - - [06/Nov/2016:11:55:21 +0900] "POST /wp-cron.php?doing_wp_cron=1478400921.7104580402374267578125 HTTP/1.1" 200 - "https://blog.kamata-net.com/wp-cron.php?doing_wp_cron=1478400921.7104580402374267578125" "WordPress/4.6.1; https://blog.kamata-net.com"
218.45.184.224 - - [06/Nov/2016:11:55:21 +0900] "GET / HTTP/1.0" 200 102759 "-" "ApacheBench/2.3"
218.45.184.224 - - [06/Nov/2016:11:55:21 +0900] "GET / HTTP/1.0" 200 102759 "-" "ApacheBench/2.3"
218.45.184.224 - - [06/Nov/2016:11:55:21 +0900] "GET / HTTP/1.0" 200 102759 "-" "ApacheBench/2.3"
218.45.184.224 - - [06/Nov/2016:11:55:21 +0900] "GET / HTTP/1.0" 200 102759 "-" "ApacheBench/2.3"

連続して同じURLにアクセスがあった場合には実行されないので、abのように同一URLにアクセスを繰り返す場合には一発目が遅いのみですが、都度違うURLにアクセスがあるような場合は毎回wp-cron.phpが実行されパフォーマンスにも影響しますし、リソースの無駄遣いとなります。

そこでまずはwp-config.phpをいじってwp-cronが実行されないように強制的に停止することとします。以下のように7行目を追加しましょう。

/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

define('DISABLE_WP_CRON', 'true');

停止してしまったwp-cron.phpは定期的に実行してあげないと、バックアップや自動投稿などができなくなってしまいますので、OSの機能(cron)で実行することとします。CentOS7の場合は、/etc/cron.hourly配下に0wp-cron.cronファイルとして以下のファイルを作成します。

#!/bin/bash

# Action!
exec /usr/bin/wget -q -O - https://blog.kamata-net.com/wp-cron.php

これで「だいたい」1時間に1回wp-cron.phpが実行されることとなります。さらに頻度を短くしたい場合には以下の続編もご覧ください。

WordPress
WordPressの性能チューニング(cron)続編

WordPressのパフォーマンスに大きな影響を及ぼすwp-cron.phpをOSから定期的に起動する設定方法のご紹介です。今回は1時間ごとではなく、1時間以下の任意のタイミングで定期的に起動する方法について解説します。
/etc/cron.d配下にwp-cron.php用の起動指示ファイルを作成してその中で実行ファイルを指定します。

続きを見る

記事は以上!

この記事は役に立ちましたか?

評価をお願いします

平均: 0 / 5. 投票数: 0

最初の評価を下さい

  • この記事を書いた人

せとあつ

現在ドイツ赴任中の会社員。20年以上SIer業界で頑張っています。本ブログでは「コンピュータ関連」や趣味の「ガジェット」についての記事を書いています。
プロフィールもぜひ見ていってください

-WP Tuning (WPチューニング)
-, , , ,

Copyright© 蒲田ネット , 2020 All Rights Reserved.