2016-01-22 52 views
2

我主持一個流星web應用程序,並意識到服務器負載比我的其他網站(php)高得多。流星導致與幾十個併發用戶相同的負載爲幾百個php。流星服務器負載vs php /靜態網站。我應該爲我的主頁使用單獨的靜態網站嗎?

這對於所有的流星網站來說都是正確的嗎?或者更可能是因爲應用程序更復雜的本質?使用php甚至靜態主持主着陸頁是否會更好,並且只將登錄用戶路由到流星實例?

+0

嘗試kadira調試來識別你的脂肪代碼https://github.com/kadirahq/meteor-debug –

+0

我第二@BlueBells的建議。使用Kadira縮小代碼效率低下的地方。 Meteor使用websockets和永久會話,這些會話比典型的無狀態服務器需要更多的資源。這就是說,在你的Meteor代碼中犯一個錯誤會很容易,這會導致使用規模的顯着性能問題。卡迪拉將幫助您識別這些問題並解決它們。 –

回答

0

我想說答案取決於你的目標是什麼。如果你的目標是

a)服務靜態頁面 - PHP是相當不錯的。如果沒有使用社區維護軟件包的廣泛配置,流星不會呈現在服務器上。

b)快速構建一個具有很多功能的應用程序。這就是流星擅長的地方。 Meteor是一個平臺,支持輕鬆構建實時更新的應用程序,以及難以在應用程序級別構建的其他應用程序。這些應用程序作爲JavaScript捆綁傳遞給客戶端(瀏覽器/電話/等),然後在客戶端環境中運行。爲了支持實時功能,客戶端必須訂閱服務器上的數據集,從而創建大量的內存使用情況。此外,每個客戶端都有一個持久連接。

您提到了一個登錄頁面,因此聽起來像是兩者的結合。一般而言,您希望有一個「品牌服務器」,可以解決目標a)和其他應用程序背後的應用程序,即目標b)。不同的工具更適合不同的工作。

我希望你可能喜歡流星的力量。如果你想投入時間,你可以通過學習webpack和反應,反應路由器,代碼分割,多入口點和服務器端渲染以及服務器來爲同一應用程序實現目標a)和b) (或多個服務器,稱爲微服務),它可能是爲了獲得「通用JavaScript」的好處而表達的節點,但理論上可以是任何東西。這種方法獲得了兩全其美。這些工具允許將應用程序分解爲多個js捆綁包,以便根據入口點(URL)(/,/ members,/ app,/ landing-page)單獨提供應用程序的各個部分。

+0

請查看http://www.nodaljs.com/,以便輕鬆設置節點服務器 –