I faced a problem that VK authentication was too slow on my production server. Started digging. And found, besides that there was configured slow DNS-server (solved with namebench and dnsmasq), that your gem makes 3 extra calls to VK API, querying user's data. However, these data are only necessary for creating user records for the first time. Could you make these data be queryied only by explicit calls of auth hash properties?
Results of rack-mini-profiler gem:
GET http://127.0.0.1:3000/users/auth/vkontakt... 27.9 +0.0
Net::HTTP POST /access_token 60.8 +15.0
Net::HTTP POST /access_token 25.6 +76.0
Net::HTTP GET /method/users.get?access_token=... 57.0 +103.0
Net::HTTP GET /method/users.get?access_token=... 30.5 +160.0
Net::HTTP GET /method/database.getCountriesBy... 65.1 +192.0
Net::HTTP GET /method/database.getCountriesBy... 23.4 +257.0
Net::HTTP GET /method/database.getCitiesById?... 63.9 +282.0
Net::HTTP GET /method/database.getCitiesById?... 33.6 +346.0
I faced a problem that VK authentication was too slow on my production server. Started digging. And found, besides that there was configured slow DNS-server (solved with namebench and dnsmasq), that your gem makes 3 extra calls to VK API, querying user's data. However, these data are only necessary for creating user records for the first time. Could you make these data be queryied only by explicit calls of auth hash properties?
Results of rack-mini-profiler gem: