PR

h2loadの出力結果の意味

HTTP2対応の性能測定ツールであるh2loadの出力結果の見方のメモです。一度理解すると不要になるのですが、ヘッダー圧縮のところと標準偏差(sd)のメモかな。あとtrafficeのところで出てくるsome insightful numbers”ってどんな数字? “いくつかの洞察に満ちた数字” って、分かる人おしえて。

$ h2load -n 400 -c 5 https://example.com/
starting benchmark...
spawning thread #0: 5 total client(s). 400 total requests
TLS Protocol: TLSv1.3
Cipher: TLS_AES_256_GCM_SHA384
Server Temp Key: X25519 253 bits
Application protocol: h2c
progress: 10% done
progress: 20% done
progress: 30% done
progress: 40% done
progress: 50% done
progress: 60% done
progress: 70% done
progress: 80% done
progress: 90% done
progress: 100% done

finished in 163.46ms, 2447.14 req/s, 1.45MB/s
requests: 400 total, 400 started, 400 done, 400 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 400 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 242.04KB (247845) total, 8.26KB (8460) headers (space savings 94.90%), 226.56KB (232000) data
                     min         max         mean         sd        +/- sd
time for request:     1.19ms      3.00ms      1.98ms       334us    72.00%
time for connect:     1.21ms      1.69ms      1.39ms       179us    60.00%
time to 1st byte:     3.40ms      4.47ms      4.01ms       519us    80.00%
req/s           :     490.98      500.60      497.56        4.03    80.00%

requests

項目説明
total実行指示されたリクエスト数。
started開始したリクエスト数。
done完了したリクエスト数。
succeeded正常終了したリクエスト数。
ステータスコード 2xx, 3xx のみ成功とみなす。
failed失敗したリクエスト数。
HTTPレベルの失敗(失敗したHTTPステータスコード)を含む。
errored失敗したリクエスト数。HTTPエラーは含まない。
“failed” で報告された数のサブセットで、ネットワーク障害やストリームリセットなどの可能性がある。
timeout接続が完了する前にタイムアウトしたリクエスト数。
“errored” で報告された数のサブセット。

status code

受信したステータスコードの数

traffic

項目説明
totalネットワーク上でサーバから受信したバイト数。
TLS経由で要求された場合、この値は復号化されたバイト数。
headers(圧縮から)解凍せずにサーバから送信されたレスポンスヘッダーのバイト数。
“sapce savings” はヘッダー圧縮の効率を示し、計算は以下。
(1 – (headers / 圧縮伸張後のヘッダーフィールドに使用されるバイト数))x100
※1 HTTP/1.1の場合、ヘッダー圧縮がないため、通常0.00%
※2 HTTP/2とSPDYの場合、some insightful numbers. (訳がわかりません)
(古いマニュアルではHTTP/2の場合ヘッダーフレームのペイロードの合計。SPDYはSYN_REPLYフレームのペイロードの合計とある)
dataサーバーから受信したレスポンスボディーのバイト数

time for request

項目説明
min要求と応答にかかる最小時間
max要求と応答にかかる最大時間
mean要求と応答にかかる平均時間
sd要求と応答にかかる時間の標準偏差
+/- sd成功したリクエスト総数に対する標準偏差の範囲内のリクエスト数の割合

標準偏差と割合の補足

標準偏差は数値のばらつきをしめすもので、簡単にいうと平均から±sdの範囲に多くのデータがあつまっていることを示し、その割合が +/- sd 欄の割合という意味となります。
sdが小さければ平均に近いデータが多くて、逆に大きければ平均から離れているデータ多く、平均はあてにならないことを示します。
多くのデータがあつまるというのはデータが正規分布しているときの話なので、%の欄が約68%でれば理論通り。割合が低ければ多くがあつまるはずだけど、集まっていないってこと。のはず。

time for connect

項目説明
minサーバーへの接続にかかる最小時間
maxサーバーへの接続にかかる最大時間
meanサーバーへの接続にかかる平均時間
sdサーバーへの接続にかかる時間の標準偏差
+/- sd成功した接続総数に対する標準偏差の範囲内の接続数の割合

time to 1st byte

(TLSの場合は復号化された)アプリケーションデータの先頭バイトを受信するのにかかる時間

項目説明
min最初のバイトを取得するのにかかる最小時間
max最初のバイトを取得するのにかかる最大時間
mean最初のバイトを取得するのにかかる平均時間
sd最初のバイトを取得するのにかかる時間の標準偏差
+/- sd成功した接続総数に対する標準偏差の範囲内の接続数の割合

req/s

項目説明
minすべてのクライアントの1秒あたりの最小リクエスト数
maxすべてのクライアントの1秒あたりの最大リクエスト数
meanすべてのクライアントの1秒あたりの平均リクエスト数
sd最初のバイトを取得するのにかかる時間の標準偏差
+/- sd成功した接続総数に対する標準偏差の範囲内の接続数の割合

コメント

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