2013-01-15 91 views
6

對於一個非常簡單的應用程序,我的Meteor站點正在以4.1s開始下載第一個字節的數據。這是一個非常基本的設置。相關的時間等(從http://www.webpagetest.org採取的)是:爲什麼部署的流星站點需要這麼長時間才能加載?

IP: 107.22.210.133 
Location: Ashburn, VA 
Error/Status Code: 200 
Start Offset: 0.121 s 
DNS Lookup: 64 ms 
Initial Connection: 56 ms 
Time to First Byte: 4164 ms 
Content Download: 247 ms 
Bytes In (downloaded): 0.9 KB 
Bytes Out (uploaded): 0.4 KB 

這是由於流星速度緩慢,或者是有可能在我的代碼中的瓶頸?有沒有辦法確定這一點?

謝謝。

+1

你有沒有流星的方法?他們有HTTP請求嗎? – Akshat

+0

不是 - 它實際上是一個非常簡單的網站,它帶有一些模板(這些模板是動態的),可以動態加載這裏列出的方法http://www.atmayogi.com/2012/11/dynamic-multi-page-applications-with-meteor -for-node-js和在模板之間路由的主幹。沒有圖像,沒有太多的CSS,和很少的JS(167.1 KB)。加載頁面,然後在顯示內容之前等待幾秒鐘。 – cazgp

回答

5

該延遲是您的訂閱從服務器獲取數據所花費的時間的函數。如果客戶端在頁面加載時需要的任何文檔數據是靜態的,請將其存儲在非託管(未同步)的本地集合中,以便在初始頁面加載時立即可用。請參閱collections.meteor.com以獲取存儲在非託管集合和受管集合中的數據的加載時間比較。

+1

謝謝你的迴應。頁面加載中顯示的數據在很大程度上取決於URL,這反過來又顯示了來自數據庫的大量數據。你如何建議實施你的建議?流星文件在非託管本地收藏上不是很清楚。 – cazgp

+3

你問我如何實現非託管本地集合來創建我鏈接到的示例?如果是這樣,就像在服務器端創建集合和插入文檔一樣 - 只需在客戶端上執行並傳遞null而不是集合的名稱。 – ram1

+0

你是假的數據還是什麼?如果他們不是來自服務器,你怎麼知道該集合中的屬性值?這是一個非常數據驅動的應用程序,集合總是在變化,而用戶看到的總是不同的。 – cazgp

0

據webpagetest,這就是:

所需DNS,插座和SSL談判+ 100毫秒的時間。

我喜歡@ ram1的答案,但我想補充一點,這也是由於您的服務器性能。這段時間在共享主機中很常見。這裏有兩種解決方法:更改您的主機或添加CDN服務。

此外,它將有助於如果你有更少的重定向。

您應該更好地使用緩存,對於Chrome用戶,您可以應用the pre- party功能。

相關問題