脚本执行多长时间?

时间:2010-05-10 01:57:19

标签: php asp.net dynamic usability

您认为Web脚本(例如PHP)在开始成为用户烦恼(平均)之前执行的最长时间是多少?我一直认为,如果用户必须等待超过1秒才能加载页面(这当然是在图像和css被缓存之后......这条规则实际上只适用于后续请求),它们会开始变得恼火。

9 个答案:

答案 0 :(得分:13)

42秒。

实际上,事实上,它更多地取决于您所关注的用户的年龄和期望。例如,我的父母可能会对延长的等待更加宽容,但也更有可能一次又一次地按下按钮,就像他们会去人行横道或电梯按钮一样。

那说真正的答案是,用户没有反馈需要多长时间?即使踢一个快速的沙漏标志或进度条,也可以为用户带来全世界的不同。也就是说,如果您提供的服务应该是实时的并且像桌面应用程序一样,那么太长时间基本上是“任何可察觉的”。

所以,付出答案......这取决于。也就是说,即使是“太长”的等待,也可以通过适当的UI设计和客户互动来克服。

答案 1 :(得分:11)

Jacob Nielsen做了一些research on this.

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

要充当灵感,您可以了解NetBeans社区interpret these values

的方式
  1. 0.1秒 - 导航和编辑操作(例如文件夹扩展,粘贴在编辑器中,编辑器中的导航)以及所有菜单栏的绘制必须在此限制内完成
  2. 1.0秒 - 所有窗口和对话框开口必须在此限制范围内完成
  3. 10秒 - 所有超过1秒后完成并且通常少于10秒的操作必须显示某种忙碌指示(例如沙漏光标或“请稍候” ......“文字”;所有超过此限制的操作都需要使用Progress API提供进度条

答案 2 :(得分:1)

对于PHP脚本执行,default limit是30秒。如果你只是从用户的角度提问,那么经验法则越快越好......

答案 3 :(得分:0)

任何需要超过几秒处理时间的事情都应该以不同的方式处理,这里有一些例子

  • 缓存其输出服务器端
  • 运行执行处理的Cron作业
  • 使用system()
  • 使用PHP生成一个虚假进程

答案 4 :(得分:0)

看一下这个链接:

http://www.simple-talk.com/dotnet/.net-tools/the-cost-of-poor-website-performance/

然后只需确定用户可以达到的挫败程度。

答案 5 :(得分:0)

我的经验法则:

在平均情况下将服务器端处理保持在一秒以下,在最坏的情况下肯定低于30秒。

答案 6 :(得分:0)

我要说几秒钟你应该调用(PHP)ob_flush()并至少向客户端发送SOMETHING。否则电梯效应将接管并且用户将重复刷新。至于总页面加载,只要你保持用户发布就没关系。进度条将有助于此。

答案 7 :(得分:0)

经过验证的真正策略始终是管理期望。不要让用户再次猜测您或您的应用程序。如果根据您的基准测试,特定页面的平均处理时间将超出,例如6秒阈值,请在用户单击按钮之前说明。这就像等待网站向您发送确认电子邮件一样,不知道何时会到达,因为从未提及由于网站无法控制的流量,可能需要几个小时。

答案 8 :(得分:0)

根据我的经验,如果事情要花费超过几秒钟,你应该至少给用户一些通知。可能会使用AJAX和一些奇特的动画,并注意“这需要一段时间”。

如果您不能使用AJAX并且您的PHP脚本需要加载超过10秒,请尝试考虑优化它的方法。