ブログサイトにfastcgiを導入してPageSpeed Insightsで測ってみたので参考に

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

ブログサイトにfastcgiを導入した速度の前後比較

この記事を書いた背景

自分のブログサイトにPHP高速化の一貫としてapacheのmod_fcgidを導入してみました。

せっかくなのでPageSpeed Insightsでその結果測定したので参考までに公開します。

fastcgiとは

最近のサーバーでは、サイトごとに複数のPHPバージョンを切り替えたり、セキュリティ確保の関係からCGIモードでPHPを動作させるレンタルサーバーが多いと思います。

しかし、CGIモードでPHPを動作させるということは、1プログラムを実行する度にインスタンスの生成・消滅を繰り返すことになりますので、WordPressなどのCMSのようにPHPプログラムが繰り返し実行されるケースでは、そのオーバーヘッドから反応の悪化やサーバーの負荷が高くなるというデメリットもあります。

fastcgiとは、そのデメリットを解消すべくプログラムの実行が終了してもメモリに残したままにしておくことで、連続実行時のオーバーヘッドを軽減する方法で高速化を狙った仕組みです。

つまり処理速度自体が重たいPHPプログラムやコマンドライン版PHPには無意味なものです。

導入方法

導入はサーバーごとに違いますが、サーバーの設定パネルによって変更できるところもあれば、.htaccessファイルの編集で行えるところもあります。

私のレンタルサーバーでは(inetd)ではどちらも対応していますが、他のサービスと切り分けるために自分のサイトのみに.htaccessで設定を行いました。

以下は設定の例です。

AddHandler fcgid-script .php 
FCGIWrapper "/home/00/system_cgi2/php55.cgi -c/home/path/to/blog" .php

導入の前後比較

導入の前後でどのように変わったかをPageSpeed Insightsで測り、キャプチャを取ってみました。

1分間隔で5回計測して同じ様な数値でしたが、まぁWebの話なので参考程度に見てください。

ブログサイトにfastcgiを導入した速度の前後比較

参考程度とは言え、多少の改善が見てとれますね。

体感速度に影響が出るかと言われると正直微妙な差ではありますが。

問題が出た

このまま良いかと思ったのですが、WordPressの管理画面のダッシュボードでJetpackの統計情報で次のエラーが出てしまいました。

「Jetpack|サイト統計情報」メニューも同様でした。

User Agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0"
Page URL: "http://blog.dreamhive.co.jp/yama~~~/wp-admin/admin.php?page=stats&noheader&dashboard&width=850"
API URL: "https://dashboard.wordpress.com/wp-admin/index.php?noheader=true&proxy&blog=xxxxxx&page=stats&chart&unit=1&color=classic&width=420&height=175&j=1:4.3.2"
http_request_failed: "No working transports found"

内容的に外部へのHTTP要求が失敗しているだけなので、curl.soやopenssl.soなどの導入の確認をしましたが改善せず。

万が一一次ファイルの書込とかもしている権限の可能性を考えて、念のためWp-config.phpにdefine(‘FS_METHOD’, ‘direct’);などを指定してみましたが、結果は変わらず。

時間がかかりそうなので、いったん放置します。

まとめ

PHP高速化にはいろいろな方法がありますが、メリット・デメリットを考えずに、またその仕組みを理解せずに実行すると大変な面倒を引き寄せることも多いです。

とくに、弊社に寄せられる相談で定期的にあるのが、WordPressの高速化失敗で復旧サービスへの申し込みです。

参考:WordPressサイト復旧サービス

WordPressの高速化のためにプラグインを導入したが、適切な手順でプラグインを削除しなかったために、.htaccessやキャッシュ関係の設定が残ったままになり、WordPressの更新ができなくなる、最悪は真っ白になってしまう、といった症状が多いですね。

インターネットに出回っている情報はもう使えないような古い情報なども多いので、きちんと調べて理解してから使うのがおすすめですよ♪

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

山本をフォローするだけでちょっぴりお得な情報が見つかりますよ↓↓↓