iT邦幫忙

0

SQL2000在RAID選擇上如何達到效能與成本的平衡?

  • 分享至 

  • xImage

請問各位先進,
最近公司準備採購新伺服器, 打算用BESR將舊機器上的SQL2000搬到新機器的Citrix Xen虛擬機器上.
目前環境為,
SQL 2000上主要的DB容量為 250GB, 每個月以 3GB速度增長, OS為Win 2003 32bit, ERP系統是JDE 8.10 ,跟 DB在同一部機器裡, 每個月月初各部門同時跑報表時, 很慢!平常一兩年偶爾會發生掉資料的情況.
新機器是 HP 380 G7, 二顆CPU四核, 32GB RAM, 虛擬化Citrix Xen Server 5.6, 146GB硬碟 * 2 作 RAID 1放Host OS
SAN 用 HP P2000 G3, 光纖 8G*2+iSCSI 1GB*2

我的問題是, P2000 的硬碟應該怎麼安排, CP值最高.
A. 8顆3.5吋300GB SAS 15k轉 作 RAID 5, 容量為 2.1TB
B. 8顆3.5吋300GB SAS 15k轉 作 RAID 10, 容量為 1.2TB
C. 10顆2.5吋300GB SAS 10k轉 作 RAID 10, 容量為 1.5TB
D. 12顆2.5吋146GB SAS 15k轉 作 RAID 5, 容量為 1.6TB
E. 12顆2.5吋146GB SAS 15k轉 作 RAID 10, 容量為 876GB
F. 其他組合
$無限的情況下, 當然是選B , 我只是想知道在各位先進的經驗裡, 如何選擇CP值最高.
貴公司的ERP DB都用幾顆硬碟? RAID 5 or 10
另外在同一部P2000裡還要再裝 4顆 SATA 硬碟作 raid 5, 把DB LOG 及次要DB放在這裡, 這樣對效能有幫助嗎?(因為都是同一個Controller)

看更多先前的討論...收起先前的討論...
slime iT邦大師 1 級 ‧ 2012-02-07 01:04:17 檢舉
建議先評估幾項效能:

1. 平常的工作是幾點到幾點會寫入 SQL 主機?
2. 跑月報表的工作是哪一天的幾點到幾點?
3. Log 多久整理一次?
4. 有沒有定期備份或清 Log ?
5. DB, Log, 備份檔是否有分別在不同實體硬碟?
6. 是否有跑過系統分析程式, 對於各項工作(平常的工作及跑月報表的工作)的 CPU / RAM / 磁碟效能稍微統計一下?

有上面的資料, 大概先把工作分開, 再依不同工作規劃需要放硬碟的位置.
鐵殼心 iT邦高手 1 級 ‧ 2012-02-07 09:30:20 檢舉
您的SQL 2000的版本是? 有沒有設定使用超過 2GB 的實體記憶體?
請參考以下
如何設定 SQL Server 使用超過 2 GB 的實體記憶體
lionab iT邦新手 2 級 ‧ 2012-02-08 11:13:14 檢舉
Slime大大,
感謝.
1. 08:00-17:00上班時間會有寫入SQL主機, 半夜 00:00-02:00 離峰時間也會有Night Job會有寫入SQL主機
2. 月報表是每個月1日到5日之間, 整個上班時間都在跑報表, 因為跑報表要排隊Queue.
3. log 每天晚上排程清理一次
4. 每天晚上備份
5.主要DB單獨在實體硬碟, 其它次要DB及Log在其它的實體硬碟.
6.之前有跑過, 跑報表時, 每個Queue會讓CPU使用率會上升 25%, 4個Queue就 100%了, 但主要瓶頸其實是在IOPS , 才會造成CPU過高.
lionab iT邦新手 2 級 ‧ 2012-02-08 11:14:12 檢舉
感謝tecksin大大,
這個我們在之前就以經設好了, 目前記憶體是 10GB,仍顯不夠用說!
鐵殼心 iT邦高手 1 級 ‧ 2012-02-08 12:48:43 檢舉
不知道有沒有把 RAID 卡的 Cache 加到 1GB, 同時開Writh-Back ?
lionab iT邦新手 2 級 ‧ 2012-02-14 12:01:01 檢舉
Raid卡的Cache是已經加到滿了, 忘了是 512M或1GB, Writh-Back 倒是不確定有沒有開, 我再確認一下.謝謝!
charmmih iT邦研究生 5 級 ‧ 2012-02-23 02:03:02 檢舉
做 Report SQL調校, 將Heavy SQL 的磁碟存取大量降低, 應就可以解決了

邏輯磁碟讀取次數大量降低(此案例6500倍)~~
https://www.facebook.com/photo.php?fbid=2668827526807&set=a.1129621567620.2020076.1439648306&type=1&theater
lionab iT邦新手 2 級 ‧ 2012-02-23 11:39:06 檢舉
謝謝您的回覆, JDE的 SQL是自動產生出來的, 所以無從調校, 只能從加索引方面解決, 我一年前也有進去加了幾個索引.初期似乎有改善, 但經過一段時間, 依然出現效能問題.可能是我索引沒有下好,改天我再檢查一下...謝啦!
charmmih iT邦研究生 5 級 ‧ 2012-02-23 15:23:16 檢舉
記憶體不要全給SQL Server , 最好預留500MB給系統, 否則系統和DB會記憶體配置競爭, 對DB會有影響喔~~
charmmih iT邦研究生 5 級 ‧ 2012-02-23 18:43:26 檢舉
lionab提到:
JDE的 SQL是自動產生出來的, 所以無從調校

先不要管能不能改SQL,
先把SQL Profilier 開起來, 將報表 heavySQL (>10,000ms)錄起來,
發現這些造成問題的HeavySQL, 再來討論如何改善.....
否則光靠硬體擴增, 只是治標不能治本....
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
12
Ray
iT邦大神 1 級 ‧ 2012-02-07 16:57:07
最佳解答

效能調整不能靠感覺, 光是一句「很慢」, 每個人的感覺都不一樣:
User 說: 要等 2 秒就是「很慢」
MIS 說: 其實, 等個 1 分鐘還不算太慢
廠商說: 你只花這樣的預算, 等上 10 分鐘都不叫慢

要改善, 必須先《量化》, 把感覺變成數據, 才有改善的依據.

當您感覺很慢的時候, 當時的 IOPS 是多少 ? 每秒的 Transaction 有多少? 系統有多少 Page Fault? Read vs. Write 的比例是多少? Disk Queue 已經累積到多少?......先把這些效能數據找出來: 平時的, 尖峰的, 周間平均的, 日間平均的...

懂系統的人, 不需要懂 SQL, 從系統面去找出數據, 就足夠把效能調整到符合 80% 以上的需求. 如果懂系統又懂 SQL, 而且可以調程式碼的話, 隨便一調整, 快上數十倍都有可能.

C/P 值的定義是甚麼?
用最少的錢, 買到最大的容量?, 還是...
用最少的錢, 買到最大的效能?, 還是...
用最小的容量, 獲得最大的效能?, 還是...
用最小的效能, 獲得最大的容量?

以上都是天平的兩邊, 沒有人能兩邊都拿, 你拿了一邊, 必定損失另外一邊. 除非你加入第三項變因來平衡, 例如: 錢.

lionab iT邦新手 2 級 ‧ 2012-02-08 11:35:53 檢舉

謝謝raytracy大大,
效能評估也有作過, 主要是 IOPS太高, 造成CPU使用率也飆高, 因此改善IOPS是目前的方向. 我們在月初,大家都在跑報表時, Queue都在排隊, 怨聲載道.
RAM在去年已經加到 10GB了, PAE與AWE都有開. 加RAM的前後差別已經很大了, 但過了幾個月後, 月初仍然會造成報表塞車.
其實改程式或加索引是治本辦法, 但因為JDE是個黑盒子, 本公司工程師因能力所限, 在效能上已盡力了.ERP廠商對於舊版本的JDE也無能為力, 希望要我們花大錢改新版.
小弟只是希望就各位先進在實務上的經驗 ,瞭解大家的公司在"一開始規劃新的資料庫系統"時, 會因哪些原因作哪些選擇.
例如: 市面上的ERP大多數時候都是 Read IOPS比較高, 因此貴公司是不是選擇 RAID 5就夠了, 用哪種系統, 用幾顆硬碟的 哪種 RAID , 增加Read IOPS .
或是貴公司是大公司, ERP DB 一律採用 20顆硬碟以上的 raid 10, 如果是小公司, 幾百GB資料量算小? 用 8顆硬碟+RAID 5 就夠了嗎?

6
davidliu9116
iT邦研究生 2 級 ‧ 2012-02-08 10:28:06

改寫程式
月初的各部門報表異動性都不高
建議做成資料表在月底的夜間自動執行
改寫報表讀取這個資料表
相信一定會飛快顯示的

lionab iT邦新手 2 級 ‧ 2012-02-08 11:19:12 檢舉

davidliu9116大大,
這個方法我們有想過, 但月初時, 有緩衝時間給大家補單, 加上會計會訂定暫停使用系統及關帳時間, 大家都想在月初結完帳後當時的即時資料跑報表.

2
ssh38390
iT邦新手 4 級 ‧ 2012-02-14 11:38:40

你要把DB移轉到虛擬環境的話 , 你guest OS 會裝幾台?
如果只裝目前的SQL , 應該還OK , 但若是有考量還要增加幾台我是覺得CPU & RAM不足

由於目前主機硬體架構都是64bit ,建議還是考量將OS & DB 都upgrade to 64 bit 版本已獲得較好效能

lionab iT邦新手 2 級 ‧ 2012-02-14 11:49:26 檢舉

ssh38390您好,
謝謝您的回覆,
目前因為不確定JDE ERP + SQL 2000架在Xen Server 上的效能影響多大, 目前打算先只裝一台guest OS , 上線後用三個月來評估, 如果扛得住, 可能再多加一兩台耗費IO資源不多的guest OS吧.以充份利用該台伺服器的效能.
因為我們用的是 JDE ERP, 沒有維護合約了, 如果換OS或SQL 版本, ERP也要升級, 因為我們客製程式不少, 升級過程可能也是災難, 更重要的其實是$$.

我要發表回答

立即登入回答