मैं बेंचमार्क करना चाहता हूं कि एक (स्वयं) omniauth प्रदाता के साथ प्रति सेकंड कितने लॉग इन संभव हैं। मुझे यह पता लगाने की ज़रूरत है कि इस omniauth/oauth अनुरोधों का प्रदर्शन कैसे होता है, और यदि यह प्रमाणीकरण स्केलेबल में है?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!!!!
मैं सच में नहीं पता कि मैं क्या कर रहा है और इस कोड सही है यदि।