HTTP/2 サーバーのテストパフォーマンス

· 機能

sgcWebSockets 4.4.3 から HTTP/2 が初期サポートされ、次期バージョンで新しい機能が追加される予定です。前回のブログ記事では HTTP 1.1 と HTTP/2 プロトコル間のパフォーマンスを比較しました。これには sgcWebSockets HTTP/2 クライアントを使用し、 imagekit.io サーバーから 100 枚の画像をダウンロードしました。 

HTTP/2 クライアント 

sgcWebSockets HTTP/2 クライアントを変更し、JPEG 画像をダウンロードするための接続先 URL を指定できるようにしました。現在、URL は 2 つあります。

テストには 2 番目を選択しました。これは sgcWebSockets ライブラリで構築したローカルの HTTP/2 サーバーです。

HTTP/2 サーバー 

sgcWebSockets ライブラリを用いた新しい HTTP/2 サーバーのサンプルを構築しました。これが両プロトコルのパフォーマンス比較に使用するサーバーです。テストするには、実行ファイルを開くだけで localhost のポート 5450 でリッスンを開始します。

HTTP 1.1 と HTTP/2 の比較 

クライアントコンポーネントでテストを開始すると、HTTP 1.1 と HTTP/2 の間に大きな違いが見られます。HTTP/2 プロトコルは 100 枚の画像のダウンロードにほとんど時間がかからないのに対し、HTTP 1.1 プロトコルははるかに時間がかかります。これは毎回新しい接続を開いてダウンロードし、待機し、閉じてから再開する必要があるためです。一方、HTTP/2 は同じ接続ですべてのリクエストを処理し、それらは非同期に処理されます。

HTTP/2 コンポーネント

コンパイル済みのサンプルは以下の URL からダウンロードできます。 https://www.esegece.com/products/websockets/http/http2