您认为在Web脚本(例如PHP)开始成为用户烦恼(平均)之前要执行的最大时间是多少?我一直认为,如果用户必须等待超过1秒钟才能加载页面(这当然是在图像和css被缓存后,这个规则只适用于后续请求),他们会开始恼火。执行脚本需要多长时间?
回答
42秒。
其实,事实上,它更多的归结于你所面对的用户的年龄和期望。例如,我的父母可能更容忍延长的等待时间,但也更有可能一次又一次地按下按钮,就像他们到人行横道或电梯按钮一样。
这就是说,真正的答案是,用户在没有反馈的情况下过多长时间?即使踢出一个快速沙漏标志或进度条,也可以为用户带来世界上的所有不同。也就是说,如果你提供的服务应该是实时的,并且像桌面应用程序一样,太长的时间基本上是“任何可感知的”。
所以,cop-out答案......它取决于。也就是说,即使是“太长”的等待,也可以通过适当的UI设计和客户交互来克服。
对于PHP脚本执行,default limit是30秒。如果你只是从用户的角度来看,要求再凭经验将是越快越好......
凡是需要比过程几秒钟时间更多的应该是不同的处理,这里有一些例子
- 缓存其输出服务器端
- 运行cron作业,做了处理
- 菌种与PHP仿过程中使用
system()
看看这个链接:
http://www.simple-talk.com/dotnet/.net-tools/the-cost-of-poor-website-performance/
然后就决定挫折您的用户可以达到的水平。
我的经验法则:
保持服务器端处理的平均的情况下,肯定在最坏的情况下,30年代第二。
我会说几秒钟后,你应该打电话(PHP)ob_flush()
,并至少发送给客户。否则,电梯效果将接管,用户将重复刷新。至于总页面加载,只要您保持用户发布,则无关紧要。进度条将对此有所帮助。
久经考验的策略始终是为了管理期望。不要让用户再次猜测你或你的应用程序。如果按照您的基准测试,特定页面的平均处理时间将超过6秒的阈值,在用户点击按钮之前就这么说。这很像是等待网站向您发送确认电子邮件,不知道何时会到达,因为从未提及可能需要几个小时,因为流量超出了网站的控制范围。
Jacob Nielsen已经做了一些research on this.
- 0.1秒是关于用于使用户觉得系统瞬间反应的限制,这意味着没有特殊的反馈是必要的,除了显示结果。
- 1.0秒是即使用户会注意到延迟,但用户的思维流程保持不间断的限制。通常,在延迟时间不超过0.1秒但小于1.0秒时,不需要特殊的反馈,但用户确实丧失了直接对数据进行操作的感觉。
- 10秒是关于保持用户注意力集中在对话上的限制。对于较长时间的延迟,用户需要等待计算机完成时执行其他任务,因此应该给出反馈,指出计算机何时完成。如果响应时间可能高度变化,则延迟期间的反馈尤为重要,因为用户将不知道该期待什么。
以服务为灵感,你可以看看NetBeans社区interpret these values如何:
- 0.1秒 - 导航和编辑的操作(例如文件夹扩张,贴在编辑器,导航并且所有菜单栏的绘制必须在此限制内完成
- 1.0秒 - 所有窗口和对话框开口必须在t他的极限
- 10秒 - 晚于1秒后完成并且通常少于10秒的所有动作都必须显示某种忙碌指示(例如,小时玻璃光标或“请稍等......”文字);花费的时间超出此限制的所有行动都必须提供进度条使用API的进展
+1来源报表。 – 2010-06-02 20:04:01
从我的经验,你应该给用户至少有一些,如果事情的要花超过几秒钟的通知。可能使用一些花哨的动画AJAX,并注意到“这将需要一段时间”。
如果您不能使用AJAX,并且您的PHP脚本需要加载超过10秒钟,请尝试考虑优化它的方法。
- 1. 执行循环需要多长时间?
- 2. CreateThread需要执行多长时间?
- 3. cron作业PHP脚本,需要很长的执行时间
- 4. GC需要多长时间?
- 5. 将Ruby作为脚本语言学习需要多长时间?
- 6. 执行yodlee实施需要多长时间?
- 7. 为什么在会话中首次执行powershell脚本需要很长时间?
- 8. 需要很长时间才能运行的python脚本
- 9. 需要很长时间才能运行的python脚本
- 10. 使用UIWebView-stringByEvaluatingJavaScriptFromString执行的脚本将可用多长时间?
- 11. 更多时间来执行php脚本
- 12. 要执行SQL查询需要很长时间
- 13. PHP脚本需要太长时间并且超时
- 14. 执行时间 - 脚本
- 15. 执行SQL JOIN需要长
- 16. Glibc需要多长时间来编译?
- 17. Compact Framework和JIT。需要多长时间
- 18. 校验需要多长时间?
- 19. 制作rabbitmq需要多长时间?
- 20. 合同处理需要多长时间?
- 21. Unix猫命令需要多长时间?
- 22. 使用TDD需要多长时间?
- 23. 密码认证需要多长时间?
- 24. 需要多长时间学习backbone.js
- 25. SHA256散列需要多长时间?
- 26. 需要从java执行shell脚本
- 27. 执行Bash脚本需要的帮助
- 28. 在长时间运行的脚本中使用praw时是否需要睡眠?
- 29. ASP.NET MVC脚本包需要太长时间才能加载
- 30. 会话超时本身需要多长时间?
+1反馈。复杂的东西总是需要很长时间(如果不是,他们不会很复杂),但是令用户感到沮丧的是缺乏反馈(我的电脑“无所事事”的感觉) – Agos 2010-05-10 08:49:28
好的答案在这里! – sepehr 2010-05-10 09:00:21
+1(不是这样)隐藏引用 – Eineki 2010-05-10 09:06:24