生成网页的合理时间是多少?

fan*_*uka 12 performance web-services ruby-on-rails ruby-on-rails-3

我正在开发Web应用程序(基于Rails 3).我真的不喜欢生成页面所需的时间 - 取决于显示的数据,它需要2.5到甚至4秒.

所以我只是想知道在你的应用中生成页面的平均合理时间是多少.说你检查生成时间,例如它是750毫秒并且想"好吧,即使没有缓存也应该没问题".或者当你看到1.5秒时,你会想到"噢,我的上帝,用户不会等待这么久,离开网站"

sam*_*amy 13

关于从查询到渲染的时间和用户体验,有大量的研究数据.我建议阅读这篇useit.com文章.毕竟Google集成页面速度在其结果中有一个原因;)

今天的3个响应时间限制与我在1993年撰写的相同时间(基于人类因素先驱者40年的研究):

  • 0.1秒给出瞬间响应的感觉 - 也就是说,结果感觉它是由用户而不是计算机引起的.这种响应水平对于支持直接操作的感觉至关重要(直接操作是增加用户参与和控制的关键GUI技术之一 - 有关它的更多信息,请参阅我们的界面设计原理研讨会).
  • 1秒保持用户的思想流畅.用户可以感知到延迟,因此知道计算机正在产生结果,但他们仍然感觉控制整体体验,并且他们可以自由移动而不是等待计算机.良好的导航需要这种程度的响应.
  • 10秒钟引起了用户的注意.从1-10秒开始,用户肯定会受到计算机的支配并希望它更快,但他们可以处理它.10秒后,他们开始考虑其他事情,一旦计算机最终做出回应,就更难让他们的大脑回到正轨.

延迟10秒通常会使用户立即离开网站.即使他们留下来,他们也很难理解正在发生的事情,使他们不太可能在任何困难的任务中取得成功.

根据经验,您应该始终瞄准优化时间与获得时间之间的平衡.当图像没有正确压缩,或者你的脚本/ css没有合并时,不要花费数天来优化一个例行程序.是的,速度越快越好,但通过设置智能缓存生成页面90%的增益在调整算法一周后增加了10%.

当框架必须加载所有东西时,也不要过多地考虑第一渲染时间,而是使用压力测试,缓存与否,来模拟各种情况.

现在,一些数据; 我工作的一些最新网站使用DotNetNuke,一个巨大的开源CMS,以及Asp.Net MVC,你更接近金属.DotNetNuke的平均数据库查询平均页面时间为600-700毫秒.对于Asp.net MVC,它是70-100毫秒......用户真的很喜欢第二个:)


Tim*_*ain 5

对此没有'正确'的答案 - 越快越好.我个人通常的目标是<200ms,虽然我从经验中知道,除了简单的应用程序之外,在Rails中实现这一点并不困难.尝试找出你的瓶颈所在并缓存你可以做的事情.

编辑:页面生成时间和页面渲染时间之间似乎存在一些混淆.显然,快速页面呈现是目标,并且在大多数网站上执行诸如减少HTTP请求之类的事情,gzipping CSS/JS是您获得大部分快速获胜的地方.但是如果页面本身可能需要4-5秒才能生成,那么您的应用程序就是您应该从哪里开始的.