Apacheでのhttp2対応と速度改善
Apacheの2.4以上だと簡単にhttp2対応できるとのことなので試してみる。
設定方法
設定はHTTPSのVirtualHost内に一行書いてsystemctl restart httpd
で再起動すれば良い。
<VirtualHost *:443>
ServerName xxx
DocumentRoot xxx
...
+ Protocols h2 http/1.1
</VirtualHost>
確認方法
WebInspectorを立ち上げてNetworkタブへ行き、Protocol情報を確認すれば良い。Protocol情報はdefaultでは表示されていないと思われるのでHeader部分を右クリックして、追加項目を表示してProtocolにチェックを入れると良い。
速度が改善したか?
とある私のWebサイトにこの設定を入れて、速度が改善されたかを確認。
私のサイトはgatsbyjsで作られておりページ起動時に20程度のファイルを自サーバーから読み込む。下記のような感じ。
HTTP2は大量の同時リクエストを裁くのに適したプロトコルであるため、pagespeed insigntでもある程度、結果が良くなるのではないかと期待。
特にgatsbyはrender済のhtmlファイルを最初に読み込むため、初期のページ表示は速いが、その後で大量のモジュールを読み込むため、Interactiveになるまでの時間が遅く、TimeToInteractiveの改善には貢献するのではないかと予測は立つ。
結果
何度か実行してみたが、http1.1と有意な差は見られなかった。まあ何となく気分的に速くなった気だけはするので、一応導入はしておこうと思う。
関連記事
CentOS7環境においてnginxとrails6、PUMAアプリケーションサーバを組み合わせ、RailsアプリケーションをProductionモードで動作させる手順を説明します。
2020年03月15日
さくらVPSでコマンドが何故か重くなった時に、コンソールのCPU使用時間やtopコマンドでのCPU使用率を調査して原因を特定し、不要プロセスを終了させようという話。
2020年04月03日
2020年08月01日
2021年03月20日
2020年08月19日
ApacheでCache-Controlのmax-ageを設定して再訪問時の高速化を図る
2020年08月17日
2020年10月11日
2020年10月25日
2020年10月26日
2021年07月18日