[WordPress] アクセススピードを高速にする設定(nginx + php-fpm)

gear-192875_1280
LINEで送る
Share on GREE
Share on LinkedIn

wordpressのブログ表示が極端に遅い。はっきり言って、非力なPCで作ったバーチャル環境の方がよほど早い。
 

こういうのってSEOにも影響するし、普通に利用ユーザーはブログの質が悪いと判断されてしまう。
 

インターネットって回線速度とセットで考えられるので、こうした所もチューニングできないと、エンジニアとしては、イマイチと思われてしまうんでしょうね。
 

そもそも、「wordpressってmysqlを高速化すればいい」とだけ考えていたのですが、実はPHP部分のチューニングも必要だったんですね。
 

チューンナップ&メンテナンスがいかに重要化を体験できたので、備忘録記事にしておきます。

現状の問題点

そして、外部サーバー監視のエラー報告が、都度飛んでくる。
サバモニ
 

サーバーターミナルで確認してみると、

・LAが異常に高くなっている(50近く)
・1ページのアクセス時間が非常に遅い(1分超えの場合もしばしば)
・httpアラートが頻発

 

原因もなんとなく分かっているんだが、nginxとphp-fpmをインストールしてチューンナップせずに使っているので、ユーザーアクセス時に無駄な負荷がかかっている&開放タイミングが遅すぎるのだろう。
 

これらの設定チューニングは今までやったことがないので、自分なりの正解設定を探ってみることにする。

環境

OS : CentOS release 6.9 (Final)
Nginx : ver 1.12.1
PHP-FPM : ver 7.0

CPU : Intel Xeon E312xx (Sandy Bridge) 2.4GB x 1コア
Mem : 512MB
Storage : SSD 20GB

先日設定したwebArenaのVPS環境です。
VPS検証「NTTPC – WebARENA」の無料テストで公開サーバー品質テスト

設定

今回セットした内容は以下の通りです。
 

さほど多くないセットなんですが、CPU数や環境スペックによって値は大きく変わる可能性があるので、これを参考にする人は、色々と負荷テストを行なって最適値を求めてください。
 

Nginx

PHP-FPM

上記2点のみの修正だったのだが、ページのアクセスタイムが2sを切る事が可能になった。
 

おそらくキープアライブの設定が効いたんでしょうね。
 

アクセスユーザーがずっとプロセス保持されていて、開放タイミングがおそすぎたんでしょうね。

チューンナップの考え方

チューンナップは、WEBページに対して、アクセス負荷テストを行なって、遅延TIMEを計測したり、そのタイミングが数分継続した時のサーバーのLA値の上昇度合いなどを、レポーティングしながら、最適値を決めていきます。
 

多くのサイトに、CPU数、メモリ数を元に計算する方法などが、掲載されていますが、僕の経験では、WEBサービスであれば、keepaliveだけでかなりの改善ができるはずです。
 

一番の駄目パターンは、今回のように、インストールしたままのデフォルト値のままという事でしょう。
 

あと、負荷計測テストも導入時に怠っていますね。
 

もっと言えば、引越し前サーバーとのベンチ比較もやっていないので、今回の遅延を招いたのは必然だったのでしょう。
 

とりあえず、テスト手順なども確立してブログ化しておかないといけませんね。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*