apache bench 1.3 って connection 数が正確じゃないのね

負荷テストに apache bench を使ってみた。今まではあんまり厳密にやったことなかったんだけど、ふとカウンタを作って数えてみた。

数が合わない。

厳密には concurrency の数を上げていくとずれてくる。例えば

ab -n 100 -c 10 URL

ってやるとレポートには

Concurrency Level:      10
Time taken for tests:   1.714 seconds
Complete requests:      100
Failed requests:        0

てな具合に100回アクセスしましたよと出るのに、実際の connection 数が 108 だったり 110 だったりする。

ただし、この現象は apache bench 2.x では起きない。確認したのは以下のもの。

apache benchOS正確さ
1.3dOSX 10.3.9×
2.0.41-devFreeBSD 6.0R

サーバは Apache 1.3 だろうと 2.0 だろうと影響ない。単純に ab の問題。

'general/6129: AB gives fake failed connections' - MARC

を見ると 2000年にも似たような話が確認されている。もう Apache 1.3 系のものはその程度のものとして諦めておくのがいいのかな? まぁ実際のテストでは数が合おうが合うまいがだから何?ってことの方が多いんだろうけど。

More