請問各位先進,
最近公司準備採購新伺服器, 打算用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)
lionab提到:
JDE的 SQL是自動產生出來的, 所以無從調校
效能調整不能靠感覺, 光是一句「很慢」, 每個人的感覺都不一樣:
User 說: 要等 2 秒就是「很慢」
MIS 說: 其實, 等個 1 分鐘還不算太慢
廠商說: 你只花這樣的預算, 等上 10 分鐘都不叫慢
要改善, 必須先《量化》, 把感覺變成數據, 才有改善的依據.
當您感覺很慢的時候, 當時的 IOPS 是多少 ? 每秒的 Transaction 有多少? 系統有多少 Page Fault? Read vs. Write 的比例是多少? Disk Queue 已經累積到多少?......先把這些效能數據找出來: 平時的, 尖峰的, 周間平均的, 日間平均的...
懂系統的人, 不需要懂 SQL, 從系統面去找出數據, 就足夠把效能調整到符合 80% 以上的需求. 如果懂系統又懂 SQL, 而且可以調程式碼的話, 隨便一調整, 快上數十倍都有可能.
C/P 值的定義是甚麼?
用最少的錢, 買到最大的容量?, 還是...
用最少的錢, 買到最大的效能?, 還是...
用最小的容量, 獲得最大的效能?, 還是...
用最小的效能, 獲得最大的容量?
以上都是天平的兩邊, 沒有人能兩邊都拿, 你拿了一邊, 必定損失另外一邊. 除非你加入第三項變因來平衡, 例如: 錢.
謝謝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 就夠了嗎?
改寫程式
月初的各部門報表異動性都不高
建議做成資料表在月底的夜間自動執行
改寫報表讀取這個資料表
相信一定會飛快顯示的
你要把DB移轉到虛擬環境的話 , 你guest OS 會裝幾台?
如果只裝目前的SQL , 應該還OK , 但若是有考量還要增加幾台我是覺得CPU & RAM不足
由於目前主機硬體架構都是64bit ,建議還是考量將OS & DB 都upgrade to 64 bit 版本已獲得較好效能