« Highchartsの棒グラフでグループ化の順番がおかしかったので | ホーム | Receive-Side Scalingとな? »

2010年4月19日

Apache Benchがマルチコアに対応してほしいと思うのね。

でだ。

マルチコア環境でApacheのベンチマークがやってみたかったんだ本当は。

最初まだAMD組は1台分しか組めなかったんだけど、Mac Proがあるししかもab標準で入ってるじゃんやったーとか小躍りしてたのさ。で、いざやってみるとどうもおかしい。思ったよりもprefork/worker/event間で差が出ない。まあabじゃあそもそも試験にならんのかもなあ、と思いつつ試験中のapacheの状態をtopでちんたら眺めてみた。そしたらだ。

top.png

CPUコア1つしか使ってねえじゃねえの。

こりゃさすがにってことでabのソースを見てみる。

http://svn.apache.org/viewvc/httpd/httpd/tags/2.2.15/support/ab.c?view=markup
[Apache-SVN] Contents of /httpd/httpd/tags/2.2.15/support/ab.c

1700行目のap_pollset_poll()で多重待ち受けをして、readyなソケットからREAD/WRITEを繰り返して行くメインスレッドがあるのみで、読み込みをマルチスレッドで多重化されたりしてるとかはしてない。

マルチスレッド化したのでやりたきゃfloodあたりを使いやがれとのことです。

http://httpd.apache.org/test/flood/
Flood - Flood

なんかめんどくさそうです...。

トラックバック(0)

トラックバックURL: http://foursics.jp/cgi-bin/mt/mt-tb.cgi/294

コメントする