我想用(自己的)omniauth 提供者来衡量每秒可以登录多少次。我需要找出这个omniauth / oauth请求的性能如何,以及这个身份验证是否可以扩展?
到目前为止我得到了什么:
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
默认值为 10 个通过 oauth 提供程序 foo 进行并行身份验证的用户。
结果:
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!!!!
我真的不知道我在做什么以及这段代码是否正确。