磁碟IO、MEM瓶頸優化

ygzhou518發表於2013-01-19

       最近接到開發部反應一套XXXX系統timeout、卡線異常問題,據說到了使用者無法忍受的地步。

硬體配置:HP Server: 16GB 記憶體 CPU=2*4    ISISC磁碟
軟體配置:Windows2003 + SQLSERVER2005

        首先擷取硬體效能分析,有發現存在大量的磁碟IO佇列、記憶體頁生命週期下降、頁交換頻繁...根據硬體效能所表現出來的"表象"來判斷,初步判斷為IO / MEM瓶頸,那麼是什麼原因引發的硬體瓶頸的表象?做如下分析定位問題:

1、以磁碟IO和響應時間為過濾條件、利用profiler 捕獲負載重的SQL

2、通過第一步設定有捕獲到2條SP響應時間以及磁碟read量較大

3、具體分析業務SP,都是比較簡單的邏輯應用。其中資源耗用大的大多是sp中多表join連線、執行計劃中hash掃描比較多;其中的一個SP使用者查詢不帶條件,針對這一現象利用複合索引、強制使用者查詢帶條件解決響應時間問題;另外一個SP中所關聯的表資料量不大、繼續分析條件欄位資料型別為布林型別:0 and 1

值1:30萬筆資料

值0:1000筆資料

      而此業務主要通過查詢值0的資料做資料匹配,根據這一邏輯需求,改善建議:

   1、將該表劈開為兩張表,0和1分開儲存,需要開發部重新編譯業務邏輯;

   2,利用資料庫分割槽表,將1、0作為分割槽儲存資料。

至此此次優化基本完成,效能大幅提升400%。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24867586/viewspace-752930/,如需轉載,請註明出處,否則將追究法律責任。

相關文章