「效能」是每個資料庫管理員必然面對的問題,當資料日漸擴大之時,效能調教也就更為重要。如果資料庫在先天體質上,就擁有較好的效能,日後調校工作自然會減輕不少。這次我們以SQL Server 2000、SQL Server 2005與SQL Server 2005 x64等三種版本進行測試,在近5000萬筆資料,實際資料量約10GB左右,作Select、Insert、Delete、Update等SQL語法查詢。

SQL Server 2005 x64效能亮眼

本次測試由恆逸資訊資深講師胡百敬協助我們建立測試模式與語法,在6項語法測試中,無論是查詢資料(測試1到3)或是新增(測試4)、刪除(測試5)、修改(測試6),SQL Server 2005 x64均大幅領先其他兩個版本。在計算5000萬筆資料時,不到1秒的時間就完成,而複雜的表格合併計算上,也僅以20秒的時間就完成,只花了2005一半的時間,而SQL Server 2000更是花了6倍時間。另外在新增資料與刪除資料的部份,分別以50萬筆資料作變更,像「刪除」這種I/O負載較重的動作,x64版本仍然有小幅領先。插入50萬筆資料時,x64也只花了13秒就完成動作,其他兩者都在30秒以上。而最後一項更新語法,將Job欄位作100萬筆資料的更新,x64是另外兩個版本一半的時間。

在資料庫作語法運算時,處理器、記憶體與磁碟I/O等因素都會影響到處理時間,像是刪除50筆資料時,時間成本幾乎都是花在I/O運算上,這也是為什麼三種效能會十分接近。另外,如果執行較複雜的運算,處理器的計算與記憶體的運用就會影響到處理效能,在64位元處理器,以及作業系統能處理大量記憶體、SQL Server 2005能動態運運用記憶體等利基上,在效能上就能有極佳的表現。這也是為什麼SQL Server 2005 x64版本能有極亮眼的表現。

32位元下,SQL Server 2000與2005效能互有高低

有別於x64位元一路領先的情況,32位元的SQL Server 2000和2005互有高下,而像是測試1計算所有資料語法及測試4新增50萬筆資料兩項,SQL Server 2000表現還略勝2005,只有在測試3合併表格作查詢時,SQL Server 2005才有明顯超越2000的結果。

SQL Server 2000要獲得這樣的效能,首先必須經過調校,例如更新到SP 4,超過4GB的記憶體支援也必須經過調整。經過這些調整,SQL Server 2000才能與SQL Server 2005在較公平的立足點上評比。另外,由於記憶體配置的方式不同,SQL Server 2000是指定多少記憶體給它,便會佔用住,而SQL Server 2005則是動態調整記憶體,兩者間的差異,尤其是第一次執行語法時,有時會造成SQL Server 2000測試的結果較佳。

再以差距最大的第三項來分析,SQL Server 2000語法執行的時間成本主要在掃描索引及將資料插入雜湊表(hash)與彙總運算。SQL Server 2005由於支援超執行緒,在重新分割資料流的平行處理上具有處理優勢,也使得雜湊比對上時間大幅降低,因此在語法運算上就能顯示出SQL Server 2005的優勢。以結果來說,經過調校的SQL Server 2000也能獲得不錯的效能,但SQL Server 2005仍有其優勢在。文⊙黃天賜

我們如何測試

我們採用IBM x460伺服器連接MXE-460擴充機箱作為SQL Server的測試平臺,x460伺服器與MXE-460擴充機箱個別安裝4顆最高階的Xeon MP「Potomac」3.33GHz/8MB版本與8條1GB DDR2-400記憶體,總計為8處理器/16GB記憶體,記憶體可靠性功能採用RBS(Redundant Bit Steering)ChipKill模式。系統安裝4臺2.5吋萬轉SAS硬碟,3臺組成有效容量67GB的RAID5,剩下1臺作為熱備援之用。

我們另外安裝一張PCI-X 133的Emulex LP9002 2Gb FC-SAN控制卡,與一張Qlogic QLA2462 4Gb FC-SAN控制卡,分別作為2Gb與4Gb FC-SAN測試之用。SAN交換器為Broadcade SilkWorm E205,SAN儲存設備採用SliverSTOR Titan 6216S-F4D,內建16臺WD Cavier 250GB SATA II硬碟,組成有效容量3.47TB的RAID0分割區。

32位元與64位元測試環境分別採用Windows Server 2003企業版與Windows Server 2003 x64企業版,均升級至SP1,32位元作業系統啟動PAE-36延伸定址模式(boot.ini中增加/PAE參數),SQL Server 2000則另外安裝PAE-36模式更新檔。

壓力測試的用戶端為1臺採用Pentium 4 3GHz、安裝1GB DDR400記憶體的個人電腦,透過跳線Cat5線路與x460伺服器對接,以確保網路頻寬不會成為測試瓶頸。文⊙劉人豪

相關文章

全面解析SQL Server 2005(下)
探索SQL Server 2005的最大潛能
SQL Server 2005最佳佈署策略

全面解析SQL Server 2005(上)
扛起企業重資料,SQL Server 2005邁進企業級資料庫
開發篇-當SQL遇上.NET
管理篇-SQL Server 2005管理新世界

熱門新聞

Advertisement