h2o の status ディレクティブのJSON出力を眺めていたら、duration-25 とか connect-time-50 とか 不思議なプロパティがいくつか含まれることに気がついた。しかしどうも全て0のようであるので、なんらかのコンパイルオプションなのだろうか?と思ってちょっと調べた。

結局これは global で duration-stats: ON すると有効になるみたいだった。そうすると以下のように数字が埋まりはじめる。

"duration-0": 0,
"duration-25": 0,
"duration-50": 0,
"duration-75": 4731,
"duration-99": 26829

おそらくμs単位のパーセンタイル値で、この場合たとえば duration-75 は 75% のリクエストが 4731μs 以内に納まるみたいなやつだと思う。

今のところドキュメントには書いてないっぽい、というかリリースされてないっぽいので HEAD が必要?なのかな。

メモ

  • h2o_now は ms 単位
  • durations は h2o.h の COMPUTE_DURATION で *delta_usec = h2o_timeval_subtract*1; となっていてμsになってるっぽい
  • server-status はどこのホストに書いても同じのがかえってくる (あくまでサーバ共通のステータスがとれる)
  1. トップ
  2. tech
  3. h2o の duration stats
▲ この日のエントリ