2012-05-20 11 views
6

私は(独自の)オムニバスプロバイダで可能な秒当たりのログイン数をベンチマークしたいと思う。私は、このomniauth/oauth要求のパフォーマンスがどのようになっているかを知る必要があります。もしこの認証がとにかくスケーラブルであれば?omniauth/oauthを使用して毎秒ログインをベンチマークする方法は? (ルビー+ rspec)

def performance_auth(user_count=10) 
     bm = Benchmark.realtime do 
     user_count.times do |n| 
      fork do 
      click_on 'Logout' 
      omniauth_config_mock(:provider => "foo", :uid => n, :email => "foo#{n}@example.net") 
      visit "/account/auth/foo/" 
      end 
     end 
     Process.waitall 
     end 
     puts "#{user_count} users Benchmark: #{bm}" 
     bm 
    end 

デフォルトのOAuthプロバイダーのfooを介して並列に認証10人のユーザーである:私は今のところ得たもの

結果:このコードは右である場合

only 2 users can authenticate parallel in 1 sec (is this possible?) 

10 users: 5.090777 sec 
20 users: 10.471208 sec 
50 users: 111.565979 sec ~ 2min!!!! 

私は本当に私がやっている見当がつかないと。

答えて

0

私はOAuth/Omniauthの経験はあまりありませんが、この種のアクションではレンダリング時間は〜500msですが、レンダリング時間がかかると思われるレンダリング時間全体と組み合わせても、レンダリング時間は500msほどです。 IMO、あなたのベンチマークを信頼してください。

関連する問題