2010-05-10 175 views
5

您認爲在Web腳本(例如PHP)開始成爲用戶煩惱(平均)之前要執行的最大時間是多少?我一直認爲,如果用戶必須等待超過1秒鐘才能加載頁面(這當然是在圖像和css被緩存後,這個規則只適用於後續請求),他們會開始惱火。執行腳本需要多長時間?

回答

13

42秒。

其實,事實上,它更多的歸結於你所面對的用戶的年齡和期望。例如,我的父母可能更容忍延長的等待時間,但也更有可能一次又一次地按下按鈕,就像他們到人行橫道或電梯按鈕一樣。

這就是說,真正的答案是,用戶在沒有反饋的情況下過多長時間?即使踢出一個快速沙漏標誌或進度條,也可以爲用戶帶來世界上的所有不同。也就是說,如果你提供的服務應該是實時的,並且像桌面應用程序一樣,太長的時間基本上是「任何可感知的」。

所以,cop-out答案......它取決於。也就是說,即使是「太長」的等待,也可以通過適當的UI設計和客戶交互來克服。

+2

+1反饋。複雜的東西總是需要很長時間(如果不是,他們不會很複雜),但是令用戶感到沮喪的是缺乏反饋(我的電腦「無所事事」的感覺) – Agos 2010-05-10 08:49:28

+0

好的答案在這裏! – sepehr 2010-05-10 09:00:21

+0

+1(不是這樣)隱藏引用 – Eineki 2010-05-10 09:06:24

1

對於PHP腳本執行,default limit是30秒。如果你只是從用戶的角度來看,要求再憑經驗將是越快越好......

0

凡是需要比過程幾秒鐘時間更多的應該是不同的處理,這裏有一些例子

  • 緩存其輸出服務器端
  • 運行cron作業,做了處理
  • 菌種與PHP仿過程中使用system()
0

我的經驗法則:

保持服務器端處理的平均的情況下,肯定在最壞的情況下,30年代第二。

0

我會說幾秒鐘後,你應該打電話(PHP)ob_flush(),並至少發送給客戶。否則,電梯效果將接管,用戶將重複刷新。至於總頁面加載,只要您保持用戶發佈,則無關緊要。進度條將對此有所幫助。

0

久經考驗的策略始終是爲了管理期望。不要讓用戶再次猜測你或你的應用程序。如果按照您的基準測試,特定頁面的平均處理時間將超過6秒的閾值,在用戶點擊按鈕之前就這麼說。這很像是等待網站向您發送確認電子郵件,不知道何時會到達,因爲從未提及可能需要幾個小時,因爲流量超出了網站的控制範圍。

10

Jacob Nielsen已經做了一些research on this.

  • 0.1秒是關於用於使用戶覺得系統瞬間反應的限制,這意味着沒有特殊的反饋是必要的,除了顯示結果。
  • 1.0秒是即使用戶會注意到延遲,但用戶的思維流程保持不間斷的限制。通常,在延遲時間不超過0.1秒但小於1.0秒時,不需要特殊的反饋,但用戶確實喪失了直接對數據進行操作的感覺。
  • 10秒是關於保持用戶注意力集中在對話上的限制。對於較長時間的延遲,用戶需要等待計算機完成時執行其他任務,因此應該給出反饋,指出計算機何時完成。如果響應時間可能高度變化,則延遲期間的反饋尤爲重要,因爲用戶將不知道該期待什麼。

以服務爲靈感,你可以看看NetBeans社區interpret these values如何:

  1. 0.1秒 - 導航和編輯的操作(例如文件夾擴張,貼在編輯器,導航並且所有菜單欄的繪製必須在此限制內完成
  2. 1.0秒 - 所有窗口和對話框開口必須在t他的極限
  3. 10秒 - 晚於1秒後完成並且通常少於10秒的所有動作都必須顯示某種忙碌指示(例如,小時玻璃光標或「請稍等......」文字);花費的時間超出此限制的所有行動都必須提供進度條使用API​​的進展
+0

+1來源報表。 – 2010-06-02 20:04:01

0

從我的經驗,你應該給用戶至少有一些,如果事情的要花超過幾秒鐘的通知。可能使用一些花哨的動畫AJAX,並注意到「這將需要一段時間」。

如果您不能使用AJAX,並且您的PHP腳本需要加載超過10秒鐘,請嘗試考慮優化它的方法。