MoonWolfです。

>  Apacheと同じプロセスで動作するmod_rubyが一番速いと思ったら、別プロセス
> で動作するFastCGIの方が3倍以上も速いです。

 Apache::RubyRun経由だと、リクエスト毎にExecCGIやパーミションの確認、ス
クリプトのロード、パースが行われるから遅いのではないかと思ったので、
RubyHandlerとして実装してみました。

 以下のスクリプトをEchoハンドラとして定義し、前回と同じ条件でベンチマー
ク計測したところ、409 Request/secと5倍以上も速くなり、一気にFastCGIを追
い抜くことが出来ました。
 スクリプト修正毎にApacheの再起動が必要になるなど手間はかかりますが、ど
うしても速度が欲しい時にはハンドラを書いてみてはどうでしょうか?

---------------------------------------------------------------------
require 'singleton'
require 'web'

class Echo
  include Singleton
  @@api = Web::Interface::ModRuby.new

  def handler(r)
    req = @@api.request
    rsp = Web::Response.new
    rsp.content_type = "text/plain"
    rsp << req["text"].to_s
    @@api.response req,rsp
    return Apache::OK
  end
end

-- 
MoonWolf <moonwolf / moonwolf.com>