如何使用omniauth/oauth测试每秒登录数?(ruby+;rspec)

如何使用omniauth/oauth测试每秒登录数?(ruby+;rspec),ruby,oauth,scalability,benchmarking,omniauth,Ruby,Oauth,Scalability,Benchmarking,Omniauth,我想用(自己的)omniauth提供程序测试每秒可以登录多少次。我需要了解此omniauth/oauth请求的性能如何,以及此身份验证是否具有可伸缩性 到目前为止,我得到的是: def performance_auth(user_count=10) bm = Benchmark.realtime do user_count.times do |n| fork do click_on 'Logout'

我想用(自己的)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!!!!

我真的不知道我在做什么,也不知道这段代码是否正确。

虽然我对OAuth/Omniauth没有太多经验,但这种操作的渲染时间大约为500毫秒,如果与整个Rails(我假设)渲染时间相结合,看起来就不那么牵强了。依我看,相信你的基准