- - PR -
ApacheBenchの結果の見方
1
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-06-24 18:08
しょうもない質問かもしれませんが、どこを調べても載っていなかったので、ここで質問させていただきます。
ApacheBenchの結果の一部に下記のようなものがあります。 ------------------------------------------------- Complete requests: 30000 Failed requests: 29990 (Connect: 0, Length: 29990, Exceptions: 0) ------------------------------------------------- この「Failed requests」についての質問なのですが、これが「取りこぼした数」ということは分かったのですが、括弧の中の意味が分かりません。 予想では、 Connect・・・接続できた数? Length・・・リクエストの何かの長さ? Exceptions・・・Exceptionがでた数? と思っているのですが、決定的な情報がありません。 ご存知の方、ご教授の程よろしくお願いいたします。 また、上記の例だと30000リクエスト投げて、29990件とりこぼしってことになるのですが、これはDBに書き込む処理なのですが、書き込み件数は30000件正常に書き込まれています。 この場合リクエストを受け付けたけど、レスポンスを返せなかったのが29990件ということになるのでしょうか? いつも、ConnectとExceptionsは0件ですが、Lengthは大量に出てきますので、気になっています。 合わせて、よろしくお願いいたします。 | ||||||||||||||||
|
投稿日時: 2005-06-25 10:25
Failed requestsの詳しい説明って、man ab にはないですね。
興味を持ったのでちょっと調べてみました。 /support/ab.cをちょっと眺めてみると: 「Failed requests」の表示から、使っている変数 err_length, err_except だと判ります
err_lengthを探すと、切断時に、実際に読み込んだ長さ(c->bread)とdoclenが異なるとき にカウントされるのが判ります。breadはHTTP Entity BodyあるいはHTTP Message Bodyの いずれかの長さだと思うのですが、そこらへんは追いかけていません。 (メッセージボディとエンティティボディ)
err_exceptは、APR (Apache Portable Runtime)でエラーが起きたことを示しているようです。
| ||||||||||||||||
|
投稿日時: 2005-06-27 11:08
ちいにぃさん詳しい回答有難うございます!大変参考になりました。
ab.cがソースになってるんですね。私もそこから追っかけてみたいと思います。 |
1