WordPress 表示速度チューニング

後続で設定記は書いていくつもりですが、ZabbixでememoryサイトのResponse timeを監視しています。これまでまったく速度系のチューニングはしておらず、常に2秒以上かかっていそうなのが気になるのと、しばしば極端にResponse timeが遅い時がある。

大した処理していないし、LAN内で監視しているのになぜ?と思ったのですが、原因がよくわからないため、速度系のチューニングをしてみました。


まず、こんな感じでレスポンスタイムが下がっています。それと、比較的安定しています。
比較的というのは、この後、やはりたまに遅いタイミング自体は発生します。

まず、突出して遅かったタイミング
/var/log/syslog を見ると以下のようなメッセージが出ていました。
———————————————–
dhcpcd[xxx]: wlanx: xxxx::xxxx:xxxx:xxxx:xxxx(Mac Address) is unreachable, expiring it
———————————————–
一応、スタティックにIPは設定しているのですが、IPアドレス割り振り担当はdhcpdなのでしょう。

うちはルーターを多段構成にしているので、奥のルーターを見たらそちら側にも以下のメッセージ。これは何か起きている。。。
———————————————–
dhcpc – 0.ntc: address assigned ,xxx.xxx.xxx.xxx ,WAN
dhcpc – 3.ntc: renewing ,xxx.xxx.xxx.xxx ,WAN
———————————————–
そこで一度IPアドレス固定割り当て関連の設定を全て確認して、DHCPサーバー側、クライアント側、双方で固定IP設定を徹底したら、エラーは出なくなりました。が
突出して遅い時があるのは変わりません。エラーがなくなった分、手詰まりになりました。

根本的に速度UPしてやる。
そんな時は先輩方に頼ります。

「NginxのFastCGIキャッシュ」を導入して「1127倍」まで高速化する──「WordPress“1000倍”高速化」チューニング総仕上げ
エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は、「1000倍高速化」を目指すチューニングテクニックの総仕上げです。「NginxのFastCGIキャッシュを導入」して、約1127倍まで高速化します。

PHPのバージョンやOSの種類によって読み替えが必要なので少し時間がかかったのと、全ての対応は色々あってしませんでした。
個人的にひっかかったりしたところを記載します。

・APCuは新規追加。phpize not found となるので、phpx.x-dev を入れて対応
・eventMPM + php-fpm 対応はphpをソースからビルドしてインストールしないとラズパイ

では対応できないみたい
2点目については以下参照。php-cgi が無かったので色々調べていたらぶちあたりました。

公式PHP 7をFast CGIで動かす - 気まま研究所ブログ
こんにちは。 前回、Raspbianで公式php7をビルド & インストールするという記事を書きましたが、モジュール版での動作なため、workerやeventでは動作しません。しかし、それらで動作させたい場合もあるかもしれません。 そこで、今回はモジュール版ではなく、FastCGIを用いてevent MPMにて動作させ...

で、いくつかの方法を試してみたのですが、ab(Apache bench)上の数字はほぼ変わらず、zabbixの監視上で改善具合が現れた状況です。

顕著に効いたのは「翻訳アクセラレーターの導入」と「キャッシュ系プラグインの導入」


翻訳アクセラレーター「001 Prime Strategy Translate Accelerator」導入前にいくつかの対応をしていますが、見た目変わらないか若干レスポンスタイムが増加している。導入後に若干レスポンスタイムが減少。

その後にキャッシュ系プラグイン(有名どころだと「WP Super Cash」とかありますね。私は複数試し中)を試したところ、圧倒的に改善しました。

キャッシュ系プラグインは、例えばモバイルでキャッシュしたファイルがPCに表示されて、表示がうまくいかないということがあり、このあたりで色々トライ中。問題がそこそこあるのでできれば頼りたくなかったですが、これだけの差が出るとさすがに採用せざるを得ない。

間に途切れているタイミングがあるのは、EmemoryはSSL対応していますが、LAN内で監視する時にLocal IPをURLに指定していました。つまり、ブラウザで見にいくと証明書エラーが出る状況です。(証明書上のホスト名と、Zabbixが接続しに行く際のURIが合わないので)

あるキャッシュ系プラグインは、このエラーを許さなかった為、値が取得できない状況になりました。

以前、投稿の更新時にやたら時間がかかったので消去した /etc/hosts 上のエントリーを復活させ、https://benbenbase.dip.jp/ememory で監視したところ、現在はうまくいっています。

投稿の更新に時間がかかる事象も無い様子。なんだったんだろう。。。

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