目前使用規格是E5-2620X2 / 32G /SAS 10K 300G*3 / WIN2008R2 + MS SQL2008 R2
現有單一進銷存資料庫檔案約20G
導致作業時速度很慢
若要將主機升級 (資料庫沒有改寫)
更換軟體為 WIN2019 +SQL 2019有用嗎?
還是省一點不須再買新SQL授權 WIN2019 + MS SQL2008R2 就好?
還是把記憶體撐到64G 硬碟換成15K 或是 SSD?
(目前該伺服器CPU使用率很少超過10%,記憶體約再60%左右)
個人不負責任的建議。
基本上調高記憶體理論上對你目前的效能提高並不是很大。
更換io設備的話,可能還有一些提高的效果。
更換作業系統會不會有改善,我是持保留態度。
一般我還是會先看變慢的實際情況。
不過更換作業系統我通常都是做為最後一招。
畢竟系統更換要面臨的問題,有時候會更多。不得已才會用這招。
硬碟改為ssd可能是我目前給你最好的建議。
成本效益會比較高。
至於加大記憶體。或許效能有可能會提高。
但提高的量因該是不大。成本足夠再考量。
以上並非是絕對性。
畢竟我都是看整體數據來做評估的。
目前的數據量不夠我分析。
有錢就砸下去吧。但不保証會變快。
更換軟體為 WIN2019 +SQL 2019有用嗎?
沒用...
重點是在SQL語法查資料有問題..才會導致緩慢..
如果WIN2008R2是標準版,記憶體32G已經是到頂了,沒法再加
SQL2008R2不支援WIN2019
所以以上都不用考慮
建議先和進銷存廠商討論看看,程式有沒有優化的可能
自己也可以去買一本SQL Server效能調校的書來看,試著把SQL Server調校一下,看看有沒有效
如果都不行再考慮更換硬體
我不是 SQL 專家, 但我管 Infra 架構, 從你的圖上, 看不出有硬體瓶頸的跡象...當然, 也有可能你並不是在 SQL 最忙的時候截圖; 但是, 只用這張圖, 沒辦法說服我同意升級硬體...
SQL 有很多種慢法:
以上三種情境, 各代表三種不同的 SQL 壓力來源, 第一個是 TPS/IOPS, 第二個是 Read Throughput, 第三個是 Write Throughput 和 RAM. 不知道你慢的情境, 就沒辦法對症下藥 (其實不只上面三種, 你應該把進銷存操作中, 所有會慢的情境都先收集清楚)
還有, 你的 SQL 是否會產生 Dead lock? 一旦被鎖住, 很多工作就不會動, 直到他 Timeout 解開, 這樣使用者當然覺得慢. 此外, 如果某個功能執行時, 發動了 Table lock, 結果此時另外的使用者正好想要 update 同一個 table 的欄位, 就必須等到那個 Table lock 的工作做完才能執行 update, 這樣當然也會等....
管系統第一要務是取得能見度, 您知道要截圖硬體數據, 是個好的開始, 可惜的是您的工具不夠細, 無法窺得全貌, SQL 的監視方法很多, 瓶頸也有很多種, 並不是只有硬體一項而已, 還有很多數據需要先收集到手, 才能研判; 先試著從這裡開始, Performance Monitor 裡面還有一大堆的 SQL 數據等著你去發掘:
SQL Server 效能調整 - 如何整合 SQL Profiler 與 Performance Monitor
可以先參考:https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/428017/
我的建議是:
其實最正確最好方法是 從後(優化SQL指令) 往前 (換硬體) 測試
但 很多都是無法去改舊包袱
只好 反過來 去優化了!
以上!
希望能幫您忙!