通过RPXNow加速20秒的OpenID登录

我已经为多个应用程序实现了RPXNow,作为OpenID和OAuth的一个很好的抽象,以支持Google和Facebook登录。我唯一的抱怨是登录时间过长。点击谷歌的“登录”按钮后,整个过程需要8-10秒才能完成,这来自我的本地机器!我只是查询
https://rpxnow.com/api/v2/auth_info
一次来自我的
AccountController
的响应字符串,其中包括登录结果和用户配置文件。 所以我选择实施DotNetOpenAuth。使用Google作为我的提供商,完成登录仍需要7-9秒!它不能是我的存储库层,因为Forms登录是即时的。因此,我必须将等待时间归因于我的系统,RPXNow和身份验证提供程序之间的延迟。同样的延迟发生在我的基本和高级RPXNow账户上。 StackOverflow上的Google OpenID登录似乎是即时的。如何加快我的OpenID登录速度?如果我可以将登录时间缩短到1-3秒,我愿意放弃RPXNow。 编辑:好的,所以我去了我的RPXNow请求实际需要多长时间,并且它不到两秒钟(从冷启动开始的1984ms和2100ms),但整个过程需要7-8 *秒。也许这是重定向或谷歌的登录框。我将不得不再运行一些诊断程序。 热烈的开始。缓存了RPXNow脚本,图像和DNS。 更多测试:我正在使用384kbps的ADSL连接进行测试,这是SA中大多数人仍然拥有的。以下是使用Google登录的时间细分: 冷启动故障: 加载RPXNow小部件:3.1s 加载弹出窗口:5.9s 点击Google提供商:忽略 加载Google登录框:4.1s 提交Google详细信息:忽略 等待RPX重定向:7.7s(包括1.9s auth时间) 总登录时间,不包括在内。数据输入: 20.8秒。 太长。 热启动细分: 加载RPXNow小部件:2.2s 通过Google登录:6.5s(包括1.8s auth时间) 总登录时间,不包括在内。数据输入: 8.7秒 几乎可以接受。     
已邀请:
说实话,我们需要查看您的代码。一些一般的表现想法: 可以在用户特定的会话或HttpCache中缓存,如果它是一个应用程序级变量,则会不断重新计算。避免将文件写入磁盘。说实话,听起来你正在遇到这两种情况 严重冷却网络延迟 忙碌等待状态,等待获取锁定的资源 一个非常差的算法做坏事 把东西写到磁盘上很多东西 我最好的建议是你逐步完成代码并尝试在本地测试它。考虑在System.Diagnostic中使用Stopwatch并注销您怀疑问题代码​​所在的加载时间。隔离问题。在我看来,你的主要性能问题与OAuth或RPX几乎没什么关系。 要增加页面加载时间,请考虑通过Google PageSpeed Insights运行页面,并确保尽可能缩小JS和CSS。     

要回复问题请先登录注册