2012-05-20 3 views
6

(자체) 옴니 오스 공급자가 가능한 초당 로그인 수를 벤치 마크하고 싶습니다. 나는이 omniauth/oauth 요청의 성능이 어떻게되는지 알아야하며,이 인증이 어쨌든 확장 가능하면?omniauth/oauth를 사용하여 초당 로그인을 벤치마킹하는 방법은 무엇입니까? (ruby + 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에 대한 경험이 많지 않지만, 렌더링 시간이 길어질수록 전체 Rails와 결합 될 때 ~ 500ms 렌더링 시간이 길어질 것입니다. IMO, 벤치 마크를 신뢰하십시오.

관련 문제