routes の(記述量と)記述箇所の違いによるパフォーマンス(処理速度)テスト
下のような config/routes.rb を用意して、
routes_check の map.connect をループの上に書いたときと、
ループの下(コメントアウトされてる箇所)に書いたときで比較した。
ActionController::Routing::Routes.draw do |map| map.connect '/routes_check', :controller => 'routes_check', :action => 'index' 1.upto(100) do |i| map.resources "route1_#{i}" end # map.connect '/routes_check', :controller => 'routes_check', :action => 'index' map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format' end
環境
フィルタテスト の時と同じ。
- App Server
- Amazon EC2: Large Instance
- Apache: デフォルト設定
- Ruby: 1.8.7
- Passenger
- RailsEnv: production
- RailsMaxPoolSize: 30
- RailsPoolIdleTime: 1200
- Rails: 2.3.8
- Request Server
- Amazon EC2: Large Instance
- ab (Apache Bench) でApp Serverに対してリクエスト
- 100件同時接続を5秒間続けて、どれくらいリクエストを処理できたかを見る
$ ab -c 100 -t 5 http://ec2-***.amazonaws.com/routes_check