2012-05-20 6 views
6

Voglio stabilire quanti accessi al secondo sono possibili con un fornitore di (proprio) omniauth. Devo scoprire come sono le prestazioni di queste richieste omniauth/oauth e se questa autenticazione è comunque scalabile?Come eseguire il benchmark degli accessi al secondo con omniauth/oauth? (ruby + rspec)

quello che ho ottenuto finora:

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 

il default sono 10 utenti che autenticano parallelo attraverso il foo fornitore di OAuth.

risultati:

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!!!! 

ho davvero idea di quello che sto facendo e se questo codice è giusto.

risposta

0

Anche se non ho molta esperienza con OAuth/Omniauth, tempi di rendering di ~ 500 ms per questo tipo di azione, quando combinato con i tempi di rendering di Rails (sto assumendo) in generale, non sembra così esagerato. IMO, affidati ai tuoi benchmark.

Problemi correlati