2014-10-31 80 views
3

我的網站(www.nykidplaces.com)託管在Google App Engine上。緩慢加載GAE上託管的靜態文件

加載主頁有時非常緩慢,10秒或更長。在進行一些分析後,我發現問題通常是由加載靜態文件(css,javascript或圖像)引起的。大多數靜態文件加載速度很快,但偶爾會有一個隨機靜態文件加載非常緩慢。

例如,該4Kb的文件通常需要200毫秒<加載,但偶爾需要更長的時間:

而真實的; do time wget http://www.nykidplaces.com/styles/toastr.css --quiet;做

真正0m0.163s

真正0m0.154s

真正0m3.335s

任何關於這可能是造成這個想法?


我.yaml文件:

 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 
- url: /images 
    static_dir: images 
- url: /styles 
    static_dir: styles 
- url: /javascript 
    static_dir: javascript 
- url: /.* 
    script: daycares.application 

libraries: 
- name: webapp2 
    version: latest 
- name: MySQLdb 
    version: "latest" 
- name: jinja2 
    version: latest 
+0

冉你的'而真;做時間wget http://www.nykidplaces.com/styles/toastr.css --quiet;在US + EU的多個VPS服務器上至少執行一分鐘的命令,響應時間永遠不會超過「真正的\t 0m0.351s」,平均值大約爲「真實的\t 0m0.093s」。可能問題出在你的網絡連接上? – 2014-10-31 21:59:41

+0

感謝您的迴應!你確定你正在彙總答案嗎?我已經嘗試了幾個主機,結果非常一致。 這是一個循環,運行100次,只吐出花費時間超過一秒的響應。對我來說,它始終發生在大約5%的時間: '我在{1..100};/usr/bin/time -f「%e」wget www.nykidplaces.com/styles/toastr.css --quiet 2>&1 | grep「[1-9] \」。完成' – 2014-11-02 00:17:59

+0

您提供的第二個命令在OSX上並不適用於我,但我想出了這個:'for i in {1..100}; do(time wget www.nykidplaces.com/styles/toastr.css)2>&1>/dev/null | grep real;完成| sort -r「,而大多數時間最大值將是** real \t 0m0.775s **,最小值爲** real \t 0m0.090s **,在多次運行命令後,我得到了3-4個結果範圍從** real \t 0m1.097s **到** real \t 0m3.697s **。對不起,但我不知道爲什麼發生這種情況,我知道這並不能回答你的問題,但考慮到它花費了大約1秒鐘,只有500次請求中的4次,我認爲它不好。 – 2014-11-03 18:52:34

回答

0

它不應該是緩慢的,但我注意到你的靜態文件是使用狀態10分緩存到期時間。你可以將它設置爲更高的假設1天,以利用靜態文件的非常快的邊緣緩存(如果它們不需要經常更新)