4

我知道如何創建小型數據驅動的網站,但想知道如何將它們轉換爲處理大型數據流。架構爲一個大型數據驅動的網站

這些問題是基於一個網站,將大部分行爲像堆棧溢出,craigslist等人可以發佈的東西和其他人回覆,並將基於標籤的基本搜索功能。

  1. 像SQL Server,Oracle等常規關係數據庫是否足夠強大,足以支持大量的數據讀寫操作?

  2. 如果我有一個站點託管在專用的單個服務器上,我可以期望它能處理多少流量?

  3. 在創建大中型應用程序時,是否有任何一般設計規則或問題需要考慮?

回答

4
  1. 憑藉良好的緩存策略和精心編寫的SQL語句,任何RDBMS應該是足夠的。

  2. 簡短回答是它取決於。關於這個主題here有一個很好的討論。

  3. 我建議你從複習this post開始。只要遵循基本的編碼習慣,將有助於使您的代碼更具可擴展性。

+0

+1爲'這個職位'。謝謝! – sarnold 2010-08-03 02:52:54

2
  1. 是的,但編寫查詢,並明智地利用緩存。
  2. 取決於硬件,操作系統和網絡服務器。
  3. 結賬3-tier architecture
0

那麼其他兩個人已經打敗了我的緩存和SQL查詢意見。我建議的其他事情是使用AJAX和客戶端驗證來減少整頁加載和服務器回髮量。

1

重新編號2:使用Siege或任何相關的Web基準測試工具--Apache ab,perfmon & shell腳本,無論什麼都可以敲出服務器並報告它(Siege的行爲更像真正的用戶,真的推薦它)。你將能夠得到一些真實的指標,說明你的服務器在真實事物淹沒之前能夠處理什麼:每秒請求數,併發用戶數,響應時間,帶寬使用率等。

當然,這不會幫助你當你只處於設計階段時,整個過程都很順利。在這種情況下,安裝一些類似概念的OSS Web應用程序並首先敲擊它們。這只是一個粗略的估計,因爲有這麼多變數,但仍然比把數字拉出空氣更好。