您認爲在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