2014-05-03 82 views
0

爲什麼花費這麼多時間從GAE下載靜態文件?同樣是來自我的應用程序的響應,它們有很大的延遲,但是爲了排除我的代碼中的延遲,我在這裏將訪問時間發佈爲靜態。從我//t***p.appspot.com/favicon.ico爲什麼應用程序引擎延遲如此之大?

Static file download latency

平到GAE前面是

平牛逼***:

時間下載HTTP p.appspot.com

PING appspot.l.google.com (173.194.71.141) 56(84) bytes of data. 
64 bytes from lb-in-f141.1e100.net (173.194.71.141): icmp_seq=1 ttl=48 time=28.1 ms 
64 bytes from lb-in-f141.1e100.net (173.194.71.141): icmp_seq=2 ttl=48 time=28.0 ms 
+1

不知道,時間長短差異很大,我看到一個典型的30-80毫秒的差異與我的平時相比。你正在使用靜態處理程序,它是一個靜態文件或靜態目錄處理程序? –

+0

@TimHoffman,我使用「static_files:static/favicon.ico」 –

+0

請注意,靜態處理程序不會啓動新實例,所以這不是問題。我會比較static_dir和static_files的延遲,以防在那裏存在一些變化。話雖如此,在非活動網站上靜態處理程序仍然可能需要300毫秒 - 我有一個示例站點顯示了這一點。而一個活躍的網站似乎只需要40毫秒,這可能是由於谷歌自己的靜態處理程序和邊緣緩存的緩存。 –

回答

0

AppEngine基於實例。

AE實例如何工作?

  1. 當HTTP請求被接收AE開始新的實例(如果沒有實例可用),這需要時間,例如,以準備接收請求。
  2. 當實例完成請求時,它會保持30分鐘的半休狀態(默認情況下)。
  3. 當收到其他請求時,半分實例將比完全關閉的實例準備得快得多。

如果請求(您提出的時間)是一段時間的第一個請求,AE必須啓動新的實例。

編輯: 我發現類似的問題對你的:Why is the latency of my GAE app serving static files so high?

一個由Kyle Finley提出的想法是通過你的腳本,而
文件服務解決方案不是將它們設置爲靜態(如芬利報告,結果偶爾會更好,但速度不太一致)。 其他的想法是爲靜態文件啓用/增加緩存。 GAE Application Configuration

+0

這不是第一個 –

+0

這個答案與僅僅運行代碼的靜態處理程序無關。靜態文件請求不會啓動一個appengine實例。我可以證明這是必要的。靜態處理程序使用不同的基礎結構。 –

+0

@Tim,我知道,我會修復我的答案,所以它不會誤導人。 –

相關問題