現在SSD硬碟可以拿來跑資料庫嗎?

I/O瓶頸可能不會只是硬碟本身
主機板、控制卡的效能 程式寫得好不好也有很大的關係

資料庫如果有大容量的需求,SSD就很不適用啦
再說 如果資料庫是放在可以切換到備援server上的Storage
那影響因素又更多了 換SSD效益不會好很多

robin0124 wrote:
I/O瓶頸可能不會只...(恕刪)


樓上很多有說SSD確實可以解決I/O瓶頸,只是資料的安全是個問題~
55GB 的資料不大啊,
如果確定是 disk IO bound 的話,
不如直接買個大一點記憶體的機器,
用 tmpfs 把整個 database 都跑在 memory 裡面。
價錢也不會很貴,
買個 256GB 也不用到三十萬,
簡單,方便,又有效 XD

in2 wrote:
55GB 的資料不大...(恕刪)


專業的說話了
買吧
針對蔣大的狀況

15K Disk * 16 = 180 IOPS * 16 =2880 (RAW IOPS)

Raid 6 後的實際IOPS (假設50% Read , 50% Write )
Functional IOPS = (Raw IOPS * Write % / RAID Penalty) + (RAW IOPS * Read %)
Raid 6 IOPS= (2880 * 50 % /6 )+ 2880 *50%
=1680 IOPS

建議以下的方向
1, 調整RAID Type 為 Raid 1 提高寫入速度,減少不必要IO
2, 直上 SSD 100GB (可提供3000 IOPS ) ,預算可能需要到百萬
3, 用了SSD ,請直接作 Raid 1 ,會比較快

這樣如果突然掛掉,資料不會有問題嗎?
還是就定時sync到硬碟?多久一次會比較好?

in2 wrote:
55GB 的資料不大...(恕刪)

chiang wrote:
我們一直受到I/O存...(恕刪)


已經有做memcached server提供快取分流負載了嗎

如果還沒試過 也是個辦法 可以考慮

chiang wrote:
非常謝謝大家的熱心回...(恕刪)


看來有比較完整的資訊了...
嚴格說來55G DB不算大...真正hot data應該不會超過10%

建議方向
1.RAID 6 改成RAID 10
2.database/table 拆開在不同 server. (如果還沒拆的話)
 改寫AP.分散查詢
3.64G memory cache 應該是指server memory.
 因為不知道貴站的機器型號 只能用我們這邊常用的解決方式
 找個有Cachecade 的RAID卡..配上一兩顆高速SSD變成RAID card cache.
 這樣可以享有SSD高速.又不怕SSD掛點資料毀損...這點我們已經有做過POC
4.貴站應該是mySQL, 可以實作mySQL Cluster, 或稱作 NDB. 此技術非MS Cluster可比
 詳細資料網路上很多..不過技術門檻比較高..建議做過完整POC在決定要不要做.
 好處是全部資料都在memory..又分散多個node..有HA+loading separate效果
 下圖來自mySQL 官方網站..應該沒有版權問題..下圖只有4個node.一般都是分為兩對
 當然將來網站更大的時候可以在多加node..
 因為門檻比較高..如果真的遇到無解的問題..可能就得自己去改mySQL source code.
 不然最後還是要花錢買support...所以也還沒打算要用在production環境上..
 http://www.mysql.com/products/cluster/
 

給你們加油喔

1. RAID6改成吞吐量較高的RAID 0+1吧
2. 不知道partition是怎樣分? 應該有把File、OS、DB作切開吧?
依loading、依檔案特性來分開放不同的tablespace,把異動頻率越高的,放越快的地方
依重要性來看DB最重要、異動最頻繁、備份回碩的周期也要最短,所以除了DB之外,其他OS、File用SSD、RAMDISK做部分的index cache,甚至把檔案直接放上去run也可以
按照EMC建議的算法(反過來算)
蔣大現有的Storage為SAS 15K * 16顆
Total RAW IOPS = 180 * 16 = 2880

一般DB Server理論上Read >> Write
但01是熱門網站所以Read/Write比例或許可修正為4:1(純假設,Write多+大部分Read都在cache)
設Final Disk System Target IOPS為X
使用RAID-6的情形
Drive IOPS = Read IOPS + 6*Write IOPS = X * (4/5) + 6 * X * (1/5) = 2X
2X = 2880,實際IOPS只有1440 ..... 這已經被證明不夠快

但如果改用RAID-1 (or RAID-10)
Drive IOPS = Read IOPS + 2*Write IOPS = X * (4/5) + 2 * X * (1/5) = 6/5X
6/5X = 2880, X將會是2400 .... 不知道這樣夠不夠快


換SSD當然可行(因為單碟IOPS高,EMC算2500)但價格實在太不親民啦
但如果蔣大能改用RAID-1(10)架構,現有Server或許還能多撐一陣子
再花點小錢把RAM加上去,把Read需求徹底抹除(in-memoey DB? 哈哈)
那應該會更黑皮
限制級
您即將進入之討論頁 需滿18歲 方可瀏覽。
根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於該限制級網頁,依台灣網站分級推廣基金會規定作標示。
評分
複製連結
請輸入您要前往的頁數(1 ~ 10)