我現在有一個不斷增長的Django生產服務器,它具有運行在其上的所有前端和後端服務。我可以繼續擴大和擴大服務器,但是我想嘗試將該主服務器作爲後端服務器,並創建多個運行apache/nginx並遠程連接到主生產後端服務器的前端服務器。從單個生產服務器移動到2個Django物理服務器(前端和後端)?
我現在在使用slicehost,所以我不認爲我可以從多個服務器在Intranet上運行中受益。我該怎麼做呢?
我現在有一個不斷增長的Django生產服務器,它具有運行在其上的所有前端和後端服務。我可以繼續擴大和擴大服務器,但是我想嘗試將該主服務器作爲後端服務器,並創建多個運行apache/nginx並遠程連接到主生產後端服務器的前端服務器。從單個生產服務器移動到2個Django物理服務器(前端和後端)?
我現在在使用slicehost,所以我不認爲我可以從多個服務器在Intranet上運行中受益。我該怎麼做呢?
擴展服務器的第一步通常是分離數據庫服務器。我假設這只是「後端服務」的意思,除非你給我們更多的細節。
所有這些都需要更改設置文件。將DATABASE_HOST從本地主機更改爲數據庫服務器的新IP。
如果您的網站對靜態內容負荷過重,則創建單獨的媒體服務器可能會有所幫助。您甚至可以查看CDN。
第一步通常是分離運行實際Python代碼的服務器和數據庫服務器。任何執行處理的後臺作業都可能運行在數據庫服務器上。我假設你說前端服務器時,實際上是指運行Python代碼的服務器。
現在,由於每個請求都必須執行一些數據庫查詢,因此Web服務器和數據庫服務器之間的延遲非常重要。我不知道Slicehost是否有一些功能允許您創建兩個網絡延遲「接近」的虛擬機(快速谷歌搜索沒有發現任何內容)。他們看起來像個好人,所以也許你可以問他們他們是否有這樣的服務,或者可以例外。
無論如何,當你在Slicehost上有兩臺機器時,你可以通過在它們之間進行ping操作來檢查它們之間的延遲。當你有結果時,你可能會知道這是否可行。
進一步的步驟取決於您的應用程序。如果媒體很重,那麼也許使用單獨的媒體服務器是有道理的。否則,正常的步驟是添加更多的Web服務器。
-
作爲一個方面說明,我個人認爲它更有意義的真正專用服務器專用的網絡設備投資的這種設置。這當然取決於你的預算。
我還建議尋找亞馬遜EC2,在那裏你可以提供魔術般相互接近的服務器。
服務器負載的來源是什麼?它是CPU嗎?數據庫?磁盤?多個apache/nginx前端服務器比單個apache/nginx前端服務器和多個後端服務器更沒有意義,那麼還有其他問題嗎? – 2010-08-06 17:33:40
這個問題是不可能回答,不知道你已經在做什麼,以及它如何不工作。 – 2010-08-27 14:26:08