2009-02-21 51 views
4

我有兩臺運行Windows 2008 Web Edition和SQL 2008 Standard Edition的服務器,如何實現負載平衡呢?使用Windows 2008和SQL Server 2008的最佳負載平衡配置

我應該使用數據庫鏡像還是日誌傳送? Win2008 NLB易於由開發人員配置,因爲我不是系統管理員?

我正在尋找的是能夠讓我的網站在發生單臺服務器故障的情況下運行,並且還能夠在需求增長時輕鬆添加更多服務器。我的網站在ASP.Net 3.5中運行,並且所有這些網站都已將會話存儲在SQL Server中。

回答

5

SQL Server本身不支持負載平衡。您可以使用您描述的機制(數據庫鏡像和日誌傳送)進行主動/被動故障轉移,並且還有許多其他選項,如羣集或複製。

開始與這兩個問題是:

  • 多久你可以買得起了嗎? (也就是你的恢復時間目標,或RTO)
  • 你能承受多少數據丟失? (也就是您的恢復點目標或RPO)

您可以承受的時間越多,承受失敗的數據越多,那麼實施更簡單,更便宜的解決方案就越簡單。停機時間越少,數據越少,實施就越困難。

例如,同步數據庫鏡像將保證您永遠不會丟失事務。在將結果返回給客戶端之前,在兩個數據庫服務器上都提交事務。不幸的是,在負載較重的情況下,您會受到相當大的性能影響,並且內置最少的管理實用程序 - 您想要全職DBA來管理這類事情。

在另一個極端,記錄每15分鐘航運將意味着你可以減掉15分鐘的數據(或更多),它可能需要15-60分鐘出現故障後重新上線。但是,它很便宜,性能影響非常低,而且安裝起來相當容易。我有一個RPO and RTO introduction在BrentOzar.com和introduction to SQL Server's HA and DR features。如果你去通過這些,你會得到更好的武裝回來,問更具體的問題。希望有所幫助!

0

根據您的應用程序類型,你應該做的第一件事就是啓動緩存的東西,不要在Web服務器上有太大變化。這樣你的數據庫就會少打。 和Web服務器是按比例的方式更容易的數據庫。

This is a pretty good article on the topic