2010-01-27 29 views
0

在我計劃建立一個單一的計算機上運行的Web應用程序,並利用硬件資源儘可能高效。應用程序的邏輯將不復雜。以下是我的設計:我設計的web應用程序運行架構單臺計算機

操作系統:Linux(CentOS的5)

Web服務器:Nginx的

的Web腳本:PHP

數據庫:東京櫃+東京暴君

指數:獅身人面像

我不打算使用RDBMS如MySQL,因爲我覺得一個key-value存儲(東京櫃)與索引(斯芬克斯)將滿足所有的需要部署一個普通的Web應用程序,並且性能比MySQL好。

我的問題是:是這樣的設計是一個有效的體系結構在一臺計算機?或者如何改進它?

(我知道這個問題可能是主觀的,但我真的需要你的幫助)

非常感謝你〜

編輯:

的電腦,我要舉辦我的應用程序對,是一個普通的PC一樣,8GB〜16GB的內存,500G〜1TB硬盤,等等。我認爲它不會需要考慮「可擴展性」。網絡應用程序的每一個第一步都是從一臺機器開始的,並且始終是開始。

+0

機器上有什麼規格? – 2010-01-27 02:12:09

+0

在單臺計算機上運行「網絡」應用的優勢是什麼?不會基於窗口的基於形式的應用程序更合適嗎? – 2010-01-27 02:12:49

回答

1

DB

的選擇,我認爲這種類型的,你做的數據庫的選擇取決於減少對系統有多少臺計算機上託管。我認爲這應該更多地是您想要/需要保留的數據質量的函數。

例如,如果你需要存儲客戶的送貨地址,你就需要考慮在你的存儲結構。一個名稱值對看似一個很容易結構開始的,但如果你預見到任何以下的,你應該考慮移動到一個標準的數據庫系統的變化

  • 保持跟蹤
  • 報告活動/報告
  • 併發用戶

性能

這取決於你的代碼,圖像,C意圖,緩存等,就像它在數據庫上一樣。

1

很好,看到一個辦法是加載測試: http://grinder.sourceforge.net/

我從來沒有與東京櫃的工作,但如果它的功能足夠,那麼它可能會顯著快則DB。

從長遠來看,通過調整您的應用程序以在一個框上工作,您實現的任何節餘將在您開始縮放到該框之後快速丟失。試圖添加大量的緩存,並且黑客讓應用變得更快只會走得這麼遠。更重要的是,你應該設法考慮如何輕鬆地將各個層分離。

相關問題