对于一个动态的、个性化的 Web 应用程序,什么是合适的响应时间?

对于一个包含动态内容和个性化的复杂 web 应用程序,服务器的响应时间是多少(不包括网络延迟和浏览器渲染时间) ?我正在考虑像 Facebook,Amazon,MyYahoo 等这样的网站。一个相关的问题是,对于后端服务,什么是好的响应时间?

145734 次浏览

这取决于什么能让您的用户满意。例如,Gmail 一开始需要相当长的时间才能打开,但是用户等待是因为它值得等待。

当然,这取决于你问题的本质,所以答案是非常主观的。

网站的第一个响应也只占页面可读性/可用性的一小部分时间。

超过10秒的回复让我很烦恼。我认为一个网站应该在5-7秒后渲染。

顺便说一句: stackoverflow.com 的反应时间非常好!

这不仅取决于如何让用户满意,还取决于您有多少开发时间?您可以投入什么样的资源来解决这个问题(软件、硬件和人员) ?

如果托管应用程序正在做一些“复杂”的事情,我不介意它们延迟几秒钟。如果真的很简单的话,延误会让我很困扰。

2到3秒

我一直在为我的应用程序争取 < 3秒的时间,但是在性能方面我有点挑剔。

如果你四处打听,他们会说人们开始对 > = 7秒的范围失去兴趣,通常会在10-15秒内失去兴趣,除非你真的有他们想要或需要的东西。

这方面有很多研究,这是 快速总结

响应时间: 三个重要限制

雅各布 · 尼尔森在1993年1月1日

摘要: 在优化 web 和应用程序性能时,需要记住3个主要的时间限制(由人类的感知能力决定)。

摘自我1993年出版的《 可用性工程:

关于响应时间的基本建议三十年来都是一样的[ Miller 1968; Card et al. 1991] :

  • 0.1秒 是关于让用户感觉系统是 即时反应的限制,这意味着除了显示结果之外不需要特殊的反馈。
  • 1.0秒 大约是 用户的思维流程不受干扰的极限,即使用户会注意到延迟。通常,在延迟大于0.1但小于1.0秒的情况下,不需要特殊的反馈,但是用户确实失去了直接操作数据的感觉。
  • 10秒 大约是 保持用户的注意力集中对话的极限。对于较长的延迟,用户将希望在等待计算机完成的同时执行其他任务,因此他们应该得到反馈,指示计算机预计何时完成。如果响应时间可能是高度可变的,那么延迟期间的反馈尤其重要,因为用户将不知道期望什么。

我们公司有一个5秒的响应时间标准限制,我们的目标是2-3秒一般。这占了98% 的页面加载。一些特定的任务最多可以执行15秒,但是我们可以通过放置一个页面并每5秒刷新一次来减少这个时间,告诉用户我们仍然在尝试处理请求。这样用户就可以看到正在发生的事情,而不会离开。虽然,考虑到我工作的网站的用户被迫使用的商业原因,他们不会离开,但他们有能力相当大声抱怨。

一般来说,如果处理需要5秒钟以上,那么建立一个临时页面,这样用户就不会失去兴趣。

我想你会发现,如果你的网络应用程序执行一个复杂的操作,然后提供反馈给用户,他们不会介意(太多)。

例如: 加载谷歌邮件。

我们争取的响应时间为20毫秒,而一些复杂的页面需要长达100毫秒。对于最复杂的页面,我们将页面分解成更小的部分,并使用渐进显示模式加载每个部分。这样,一些部分加载速度很快,即使加载页面需要1到2秒钟,在加载页面的其余部分时仍然让用户保持忙碌。