iT邦幫忙

0

請推薦10人辦公室MSSQL用伺服器

您好:

辦公室目前需更換伺服器,
安裝MS Server 2012R2+MSSQL 2016
由於SQL資料量有數百萬筆,每年系統執行年度大量資料寫入會跑上好幾天甚至常中斷,
原伺服器
CPU:Intel Xeon E3-1230 3.3GHz
RAM:8GB
硬碟:Intel SSDx2用Windows Server Backup做備份

預算在10萬以內
需求是桌上型、有Raid備份可熱插拔
請幫忙推薦合適的伺服器,或者指導如何評估方向,謝謝。

看更多先前的討論...收起先前的討論...
mathewkl iT邦新手 2 級 ‧ 2020-07-23 19:11:12 檢舉
8C16T CPU+32/64G RAM+SSD
hsiang11 iT邦好手 1 級 ‧ 2020-07-23 20:07:35 檢舉
SQL資料量有數百萬筆,每年系統執行年度大量資料寫入會跑上好幾天甚至常中斷

這種需求不該考慮桌上型了吧
直接上機架式 記憶體量和SSD都要考量用企業級SSD
ckp6250 iT邦研究生 4 級 ‧ 2020-07-23 21:15:42 檢舉
年度大量資料寫入?
一年只有寫一次嗎?平時都不分散寫入?

還有,我覺得寫入也不應該這麼慢,就算數百萬筆,頂多幾分鐘,不會到幾天吧?

我剛用我的電腦測試(普通硬碟),寫入310萬筆,也才30幾秒,雖然我用的是mysql,但也不應差太多才對。
brookie iT邦新手 5 級 ‧ 2020-07-23 22:37:46 檢舉
一年只有一次嗎 有考慮雲端?
goodnight iT邦研究生 3 級 ‧ 2020-07-24 09:35:28 檢舉
sql server 最吃記憶體, 建議加到滿吧, 另外換 cpu 就可以了吧, 反正你跑的都是 i/o
再把 ssd raid1 升級到 raid 6, 剩下的問題, 應該會有錯誤訊息, 應要好好除錯
雷伊 iT邦好手 1 級 ‧ 2020-07-24 11:42:13 檢舉
租個100GB的空間,強烈建議虛擬化後丟AWS,10萬元大約可以租七年
verdipeng iT邦新手 5 級 ‧ 2020-07-24 16:40:54 檢舉
感謝大家回覆,因為安全性的考量,伺服器僅在封閉的區網運作無對外網路,故無法在雲端運作。
verdipeng iT邦新手 5 級 ‧ 2020-07-24 16:55:55 檢舉
也謝謝goodnight大的建議
qpowjohn iT邦新手 5 級 ‧ 2020-07-27 23:02:09 檢舉
數百萬要好幾天...不考慮加個索引嗎
1
浩瀚星空
iT邦超人 1 級 ‧ 2020-07-23 23:54:18
最佳解答

認真來說,如果依10萬預算的話。
我倒不建議你直接買新的伺服器。

畢竟你買的也會跟現在差不多的等級。沒有意義。

可以依現有的伺服器,直接增加記憶體。
在做vm之類來處理分流主機。

只是在不知道你是何種情況下。會造成100萬筆資料要好幾天的情況。
很難評估及設計你的系統。

如在不改變你的系統及運做的情況下。
想要靠硬體來改善這樣的情況。
10萬絕對是不夠的。

我會建議您先從記憶體跟硬碟下手。
然後可以的話找個資料管理的高手來協助你們。
畢竟我曾經處理過百萬筆文章資料(將近100g的容量資料)。最多一天內就搞定。
而且還不是這種8核的cpu運行。一般的i5等級而已。

推測是操作或是運行系統的不良造成的。

verdipeng iT邦新手 5 級 ‧ 2020-07-24 17:26:09 檢舉

感謝您的建議,的確現況難以改變系統與運作,因此想透由硬體的提升改善跑不動的問題,將會提升記憶體與硬碟試試看,謝謝。

其實提升記憶體與硬碟能改善的空間也很有限的喔。
能從運做下手是最好了。
不能的話,你們還是只能拼運氣而已。

0
BMG50
iT邦新手 5 級 ‧ 2020-07-24 01:41:37

以現時的CPU 速度處理數百萬筆資料要跑上數天,大既有幾個可能:

  1. 處理每筆資料不單要讀取,還要事先重新計算和寫入;
  2. Table index 經過長年累月的讀取和寫入已不合時而要重建;
  3. Full table scan
    要先找出問題是哪一個,方能對症下藥。
verdipeng iT邦新手 5 級 ‧ 2020-07-24 17:27:32 檢舉

感謝您!運作現況的確如您所述,每筆資料都須重新計算寫入,又無法調整流程,因此才想從硬體升級著手

BMG50 iT邦新手 5 級 ‧ 2020-07-24 17:48:38 檢舉

因為我也開發過這類系統,所以完全明白你現在面對的問題。
之前也是不斷地升級硬件,也花了不少的錢。不過升級硬件其實也只能替你Buy time而已,要解決根本問題必需從數據庫的設計和tuning著手。

祝您好運!

verdipeng iT邦新手 5 級 ‧ 2020-07-27 18:08:03 檢舉

感謝您的回覆

0
souda
iT邦研究生 2 級 ‧ 2020-07-24 08:58:03

有考慮其他的資料庫嗎? MYSQL ORACLE ...

verdipeng iT邦新手 5 級 ‧ 2020-07-27 18:09:01 檢舉

由於系統的開發非我能主導,目前暫時無法更換資料庫

souda iT邦研究生 2 級 ‧ 2020-07-28 08:07:23 檢舉

MSSQL效能有目共睹~主要又要錢.
對開發來說轉換資料庫應該不是難事!若有ORM更換更是無痛.
其中程式讀寫開發也是其中之一,但這塊不再討論範圍,code review是要花很長的時間的.
==>
可嘗試看看拉高MSSQL占用記憶體快存應該是有幫助的.
https://docs.microsoft.com/zh-tw/sql/database-engine/configure-windows/server-memory-server-configuration-options?view=sql-server-ver15
==>
10w買主機蠻夠的1u搭配
中央處理器:i5 to up
硬碟: nvme ssd (RAID 1 or RAID 5)
記憶體:32G to up

verdipeng iT邦新手 5 級 ‧ 2020-07-28 14:18:22 檢舉

好的,非常感謝您的建議

0
oxox
iT邦研究生 5 級 ‧ 2020-07-24 09:13:16

樓主預算買入門等級的 HP DL20 / ML10 +配好周邊都不能啊。
會建議原主機「記憶體增加」,起碼16GB(個人是建議32GB起)。
儲存資料只有兩個SSD跑Mirror嗎? 可否新增一個獨立的當作TEMP用?
這是不探究DB資料 還有 程式怎麼寫的建議(很多時候程式都沒法異動,只能靠硬體撐)。

verdipeng iT邦新手 5 級 ‧ 2020-07-24 17:28:03 檢舉

好的,將考慮從記憶體來改善,謝謝您。

oxox iT邦研究生 5 級 ‧ 2020-07-28 10:02:34 檢舉

樓上大大的建議都很好,但實務上不是卡到人力、能力就是財力,或是前面都有就是沒權力,再不然就是有權力但沒法全力的一些主客關因素。

我也剛將16GB的SQL提升到48GB,原本6小時的成本計算縮短為5小時。
使用廠商借的最新Server 單機下更快CPU、更多記憶體&更快儲存,也只有4.5小時(剛導入時為4小時),ESXi下單一Guest OS跟原本速度差不多,這樣怎說服自己來說服老闆買硬體(除了安全性以外)。
架構&程式就那樣,用硬體頂上比較快之外...花大把精力優化程式/DB,還沒人花錢讓人「感覺」有效益、有績效,所以Source Code有 & 有能力/知道怎麼處理,也...算了。真的悲催啊。

goodnight iT邦研究生 3 級 ‧ 2020-07-29 12:18:32 檢舉

==================

0
richardsuma
iT邦大師 1 級 ‧ 2020-07-28 14:16:34

試試 SQL Server Profiler 檢視和分析追蹤。

verdipeng iT邦新手 5 級 ‧ 2020-07-28 14:23:14 檢舉

好的,謝謝您

我要發表回答

立即登入回答