將800多萬筆, 31GB的資料轉到新的機器後, 暫時已能應付ap server的存取, 從performance monitor觀察IO數據、SQL的效能指標都很不錯, 但cpu loading還是一直居高不下
從工作管理員看sqlserver.exe的記體使用量一直維持在131MB左右, 但可用記憶體剩2G多, 很怪! 另一台只有4G Ram的在工作管理員顯示吃到2.7G多(原因是開啟AWE後得從SQLSERVER: Total server memory看才正確!)
雖然很不想去動資料面, 畢竟這是廠商的職責, 不過看這樣子他們也是沒什麼招可玩了...
把自己學過的一點點東西拼湊起來急救看看, 先用sql profiler觀察一下, 大致是select幾個比較大的table時, cpu loading會衝到近滿載, 看了一下竟然沒建索引!! 自己照著畫面隨便建了幾個索引, 沒想到cpu loading馬上降下來!!
繼續把profiler錄下的語法拿到sql tuning advisor執行計畫跑看看, 工作成本變成原來的1/10, 感覺還滿爽的, 繼續再建幾個table的索引, 果然cpu好像吃了維骨力, 爬樓梯都不會喘了..傑克!這真是太神奇啦~~
更意外的是可用記憶體剩不到500MB啦(微軟建議/3gb跟AWE最好不要同時啟用, 以免造成OS記憶體不足, 這點有待觀察), performance monitor的SQLSERVER: Total server memory計數器數字也變成7G多, 看起來正常多了
沒有留言:
張貼留言