|
|
浏览器重定向性能分析经验谈 |
|
火龙果软件 发布于 2014-10-11 |
|
|
作者Andreas Grabner拥有超过15年的工作经验,在提升网站性能方面有着丰富的实战经验。前不久,他的公司网站出现了一次异常加载行为,造成了严重的负载现象,本文摘译自他发表的这篇博客The Performance Impact of Recursive Browser Redirect Loops》。事实上,当某个公司给用户呈现下载新产品信息页面时,良好的用户体验是非常重要的。文中总结的这几个经验值得开发者重视。
译文如下:
乍一看,如此忙碌的访问下载统计表,你一定认为是我们发布了重量级新产品,所以狂热的粉丝才会进行近乎疯狂的下载。但事实上并非如此。图中的这次访问高峰源自于认证服务和下载角色逻辑之间的事务冲突,导致其中一位访客在认证页面和下载页面间反复循环切换,造成每分钟出现多达千次的HTTP访问请求。
找出始作俑者
首先得弄清有哪些用户正在进行软件下载。我们使用了dynaTrace UEM追踪工具来追踪每位访客的行为。有趣的是,实际上发现并不是有很多用户对下载页面进行访问。相反,问题仅出现在一位访客身上。根据dynaTrace UEM的统计信息显示,一位北美的用户度对同一个单点登录页面在几分钟内发出了多达5000次的访问请求。
问题根源:用户角色权限处理不当
跟踪信息显示,用户第一个动作结束后被正确重定向到系统的单点登录页面。然后,他输入了用户名和密码,接着点击“下一步”。然而,当该用户成功登进系统后,系统却发现他实际上还没有被赋予任何的系统用户角色。结果,一方面下载页面认为需要识别用户身份,另一方面登陆页面认为用户已经正确登陆了,从而造成用户反复不断地在下载页面和登录页面间来回切换。
后事之师:每个访客的请求都要正确识别并处理
诚然,很多系统专家认为高级别的参数指标已足够用来帮助找出问题。但是正如这次的小细节,也是应该引起重视的,细节决定成败。
我把该问题反馈给维护组后,很快就解决了。后来发现问题源自最近期的一次发布更新,测试环节中忽略了类似的空角色特殊情况处理。所以,测试环节涵盖的面必须兼顾各个方面,不能只关注大的显眼的,千里江堤,溃于蚁穴。
如果你有类似的错误部署案例,不妨一起交流,看看您又是如何解决的。
|
|
|