專家在線:測試SQLServer合并環(huán)境

字號:

這段信息摘自我們最初的專家電子書《合并SQL Servers,為了可用性、可測量性和成本的節(jié)省》中的第三章《合并你的SQL Server》。
    一旦你開始清算你的SQL Server中的依賴關(guān)系,并分析候選服務(wù)器了,那么你就面臨著要開發(fā)一個(gè)測試環(huán)境的任務(wù)。
    你的SQL Server測試環(huán)境應(yīng)該足夠大,以便能夠容納這臺機(jī)器上運(yùn)行的所有SQL Server實(shí)例中合并的用戶數(shù)據(jù)庫處理典型性的負(fù)載的每一次波峰的來臨,服務(wù)器的尺寸要足夠大,以便支持未知的負(fù)載或者未知的SQL Server實(shí)例數(shù)量,服務(wù)器應(yīng)該是最新的64位多處理器機(jī)器(4到16個(gè)處理器),內(nèi)存也要足夠(8到16GB),并且連接到大的存儲區(qū)域網(wǎng)絡(luò)(SAN)。
    你的測試環(huán)境也應(yīng)該能夠支持的用戶環(huán)境中包含的波峰,也有可能是幾個(gè)集群。它必須還有足夠的磁盤空間來容納服務(wù)器和系統(tǒng)數(shù)據(jù)庫每個(gè)合并階段的用戶數(shù)。(這個(gè)數(shù)字可能是每個(gè)服務(wù)器幾千個(gè)數(shù)據(jù)庫。) 合并環(huán)境中的系統(tǒng)數(shù)據(jù)庫也要比單個(gè)環(huán)境中的大得多。運(yùn)行在SQL Server 2005上的臨時(shí)數(shù)據(jù)庫也會大很多,特別是當(dāng)你使用數(shù)據(jù)庫快照或者快照隔離級別。這里是一些需要為你的測試環(huán)境考慮的因素,還有最終的產(chǎn)品環(huán)境也適合。
    需要為你的測試環(huán)境考慮的因素:
    存儲區(qū)域網(wǎng)絡(luò)(SAN)
    SAN提供了更好的磁盤性能,改善的可靠性和恢復(fù)性,以及對集群的支持。當(dāng)你工作的數(shù)據(jù)庫比較大(超過100GB)時(shí),它們也是必需的,或者你可以想象一下將大量的數(shù)據(jù)從一個(gè)系統(tǒng)轉(zhuǎn)移到另外一個(gè)系統(tǒng)中去。SAN的提供商提供了SNAP的功能將你的數(shù)據(jù)在幾秒鐘內(nèi)映射到另外一個(gè)數(shù)據(jù)庫的拷貝上面去,以備其它目的的使用。在你的測試和產(chǎn)品環(huán)境中,你的SAN的緩沖的尺寸需要比檢查點(diǎn)中需要傳輸?shù)牧康臄?shù)據(jù)還要大,以便獲得優(yōu)化的性能。
    磁盤和陣列的考慮
    要在你的測試和產(chǎn)品環(huán)境中都獲得優(yōu)化的性能,你需要使用具有旋轉(zhuǎn)速率(15 Krpm) 的SCSI驅(qū)動,還有的軸數(shù)。雖然SATA驅(qū)動可以提供一部分SCSI驅(qū)動的性能,但是在檢查點(diǎn)的時(shí)候,它就會飽和。然而,一個(gè)集群文件系統(tǒng)允許客戶將數(shù)據(jù)分布在多個(gè)驅(qū)動之間,以此為特定的負(fù)載模式增加性能,并使用較小的更加便宜的陣列。iSCSI網(wǎng)絡(luò)和SATA驅(qū)動組成的陣列可以為特定的用戶群提供全新的兼顧成本和性能的方案。把寫集中的數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫放在RAID 10陣列上,把讀集中的數(shù)據(jù)庫放在RAID 5驅(qū)動上。RAID 0可以提供成本的節(jié)約和性能方面的好處,但是它不能容錯(cuò),down機(jī)的成本也很快超過了所有節(jié)省下來的成本。把日志文件放在不同的磁盤,甚至是控制器上,可以最小化沖突。
    使用如下的性能監(jiān)視計(jì)數(shù)器來監(jiān)控你的磁盤的性能:
    · SQL Server: buffer manager — page writes/sec
    · SQL Server: buffer manager — page reads/sec
    · PhysicalDisk: avg. disk queue length (should be under 2)
    在SQL Server 2005中,執(zhí)行和I/O有關(guān)的動態(tài)管理視圖在容量計(jì)劃中可以帶來好處。
    CPU
    經(jīng)過合并的SQL Server解決方案可以提供比部門SQL Server更大量的用戶。為了給他們更優(yōu)化的性能,你需要多個(gè)快速處理器。你的測試和產(chǎn)品環(huán)境應(yīng)該是運(yùn)行在多個(gè)64位處理器上。在微軟列出的大多數(shù)的合并測試案例中,機(jī)器的選擇是8路或者16路處理器,64位機(jī)器。然而,許多公司都發(fā)現(xiàn),今天的4路雙核機(jī)器可以提供不錯(cuò)的性價(jià)比。
    內(nèi)存
    SQL Server 2005企業(yè)版和標(biāo)準(zhǔn)版都充分利用了內(nèi)存。使用多個(gè)SQL Server實(shí)例可以最小化內(nèi)存的壓力。但是你需要配置固定內(nèi)存管理,而不是動態(tài)內(nèi)存管理。你還需要確定每個(gè)實(shí)例的內(nèi)存數(shù)。要配置SQL Server如何使用內(nèi)存,使用sp_configure(例如,sp_configure'為服務(wù)器最小內(nèi)存數(shù) (MB)', '2000' ,還有 sp_configure '每個(gè)服務(wù)器內(nèi)存 (MB)', '16000')。
    網(wǎng)絡(luò)
    當(dāng)合并SQL Server上的負(fù)載比各個(gè)SQL Server上的大的時(shí)候,你需要一個(gè)高速的網(wǎng)絡(luò)和擁有固定配置,適合你的網(wǎng)絡(luò)的局域網(wǎng)卡。使用網(wǎng)絡(luò)組可以增加網(wǎng)絡(luò)的整體吞吐量。