我们为客户维护服务器端报告应用程序。在一个报告页面上,页面中间有几个繁重的数据库调用,导致页面需要5-10秒才能呈现。
问题:当通过AT& T 3G上的iPad访问该页面时,该页面成功加载了大约50%的时间。但是,有时,Mobile Safari会呈现页面的上半部分,然后出现“服务器连接被重置”错误。
背景资料
所以现在我不知道该怎么想。如果这是一个网络问题,为什么Opera Mini工作而不是Mobile Safari给出相同的情况呢?但是......如果这是一个移动Safari问题,为什么Mobile Safari可以通过宽带+ Wifi连接正常工作?
Mobile Safari是否根据宽带或wifi使用不同的超时设置?我不知道这是不是......它的作用与否。
为了奖励赏金积分,我想我正在寻找专门解决以下一个或两个问题的答案(1)Mobile Safari是否根据当前活动网络连接的类型改变其超时设置(2) )AT& Ts代理服务器是否有某种已知的特定事物是抽搐和终止连接已经空闲了几秒钟?喜欢:“是的,他们将在4.25秒后终止空闲连接”
答案 0 :(得分:3)
我认为简短的回答是3G数据连接不可靠。这部分取决于物理学 - 它永远不会像有线连接那样可靠 - 部分归结为运营商所玩的游戏。
几乎所有运营商似乎都使用具有不同程度破坏性的透明代理服务器。
我无法确定AT& T正在做什么,但我可以列出一些我从我的应用程序的客户(访问REST Web服务)中看到的东西:
很长一段时间以来,我认为这是我的代码中的一个潜在错误,但后来在沃达丰手机而不是O2上尝试了我的应用...
除非您在公司环境中并且可以承担一个特定的运营商,否则除了使您的代码更具弹性之外,您所做的事情并不多。我试图制作我的代码:
我认为最后一点是最重要的一点,但不幸的是,100%的时间不可能完成。
答案 1 :(得分:1)
您应该阅读this文章,了解在通过AT& T的3G网络连接时遇到问题的原因。
关于Opera Mini ......好吧,Opera使用这种类似代理的技术通过自己的服务器传递所有数据,压缩它然后发送给你。这样可以减少来自&移动设备,因此 - 加载时间更快。
除了压缩输出和优化速度之外,没有什么可以做的 - 甚至用单个引号替换双引号(抱歉,我是PHP编码器,不知道ASP是否相同)感觉到这里。凭借今天的宽带连接 - 没有人真正关心这一点,但移动连接还不是那么先进,并且在优化技术方面有点让我们回到拨号调制解调器时代。
答案 2 :(得分:1)
我怀疑问题不在于Safari,而在于AT& T的3G路由器/代理。通过切换到HTTPS,我已经成功避免了类似的问题,这似乎阻止了AT& T的缓冲,并且有助于避免虚假连接重置。
我的猜测是,AT& T正在与他们的网络玩游戏以平衡负载或防止其他带宽问题,这可能因某些原因而与您的特定数据混淆。
答案 3 :(得分:0)
我建议批处理数据检索以返回记录子集,并使用连续滚动模式来提高页面的性能。通过连续滚动,当您向下滚动页面时,将加载新项目。我已经看到这种技术在类似的情况下成功使用了。
这篇文章解释了如何在ASP.NET中使用JavaScript合并连续滚动模式:
http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=371
这是另一个使用jQuery的好例子:
希望这有帮助。