あどけない話

インターネットに関する技術的な話など

h2load を使おう

これはhttp2 Advent Calendar 2015の25日目の記事です。

これまで web サーバのスループットを図るには weighttp が定番でしたが、これから h2load を使いましょう。

h2load は、nghttp2と一緒に配布されているベンチマークツールです。以下のような特徴があります。

  • ApacheBench を世襲したコマンドラインオプションを提供しています。
  • weighttp のように、計測側のマルチコア環境を活かすことができます。
  • weighttp で計測できるのは HTTP/1.1 のみでしたが、HTTP/1.1 over TLS、HTTP/2、HTTP/2 over TLS も計測できます。

対象プロトコルは以下のように切り替えます。

プロトコル 平文 TLS
HTTP1.1 h2load --h1 http:// h2load --h1 https://
HTTP2 h2load http:// h2load https://

主要なコマンドラインオプションは以下の通りです。

  • -n: リクエスト数
  • -c: コネクション数
  • -t: ワーカー数 (マルチコア環境で指定する)
  • -m: HTTP/2 用のリクエストの並列数

たとえば、HTTP/2 over TLS を計測するには以下のようにします。

% h2load -n1000000 -c500 -m100 -t4 https://

h2loadは、辻川さんによって精力的に開発が進められているので、要望を出すと実装されるかもしれませんよ。