SQL Server效能調教系列(1)-概述

來源:互聯網
上載者:User

一. 前言

 

近期計劃寫一點有關SQL Server效能調校方面的想法, 就是太繁雜沒有整理出來頭緒.在我們寫SQL,設計Table或者做DBA, 或者做項目時,會有好多效能方面的考量,好多論壇裡面也會常常提問到: 為何我這個SQL啟動並執行這麼慢或者效率很低,如果做效能方面的調優?

 

如果管理的資料庫比較大(maybe >50GB),效能方面的考量就顯得非常重要了. 在商務邏輯層面上當然希望背景資料能夠快速的處理,提交一個請求能夠得到快速的回應. 如果後台資料處理太慢的話,前台的頁面就會出現假死的現象,容易給User造成錯覺,還以為是程式死掉了.

 

SQL Server是當前使用最廣泛的大型資料庫系統之一,大型資料庫系統運行一段時間後就會出現運行緩慢、效能下降、故障增多等問題,為了使系統維持正常運行,必須對系統不斷進行"調校"。這樣才能夠使我們的前台頁面或後台資料處理能夠高效的執行. 效能調校不是一件簡單的事,一般來說需要有廣泛的經驗與知識,不單單是資料庫的經驗,還要對商業邏輯、系統架構設計、編寫應用程式、作業系統、架設網路環境、使用各種偵測與監控工具程式、安全與防毒等,都有基本的瞭解,才能在複雜的系統中,找到癥結所在。

 

我不是效能調校方面的專家,只能提出自己的一點淺見與想法,分享出來. 請各位博友專家學者指教,也歡迎一起交流!

 

二. 效能調校理論

 

運用80/20原則,找到最影響效率的20%進行最佳化,就能夠取得80%甚至更多的效果.

1. 調校的五個基本原理

  (1). 全域考慮,局部休整.

正確的找到問題,對資料庫的幹涉減到最小,才能有效調優.在做一些局部的調整時,一定要考慮全域性的因素.

  (2). 劃分打破瓶頸.

大多數情況系統運行緩慢,是由於系統中的某個模組佔用的大量的資源,阻礙的其他進程的訪問,進一步限制系統的效能,造成瓶頸.

  (3). 啟動成本高,運行成本低.

啟動的開銷,比啟動並執行開銷低. 應該用儘可能少的啟動次數來擷取最好的效能.

  (4). 伺服器和用戶端之間合

/script>

理的任務分配,loading均衡.

把loading均衡,如果有多個server, 可以平分loading,以提高整體的效能.

  (5). 效能價格比.

SQL Server的高速度需要搞配置的硬體做支撐

,

所以在效能與價格之間需要一個權衡點.

 

2. 調校就是要找出系統的瓶頸, 做最佳化以消除瓶頸,提高系統運行效率.剛開始做時,可以從以下幾個方面考慮.

  (1). Server硬體(CPU,IO,ROM, 如果存在瓶頸可以考慮硬體升級)

  (2). RAID

  (3). SQL Server配置

  (4). Table結構設計(包括Index的有效使用)

  (5). 週期性維護計劃(包括Backup History Data,Rebuild Index,Reorganize Index,Shrink Database等)

  (6). T-SQL編程(找出運行效率比較低的SQL語句,做最佳化)

 

三. 效能調校方法及最佳化技巧

 

1.用Server效能監控器做監測(介紹Performance Monitor, PowerShell Get-Counter兩個工具)

 

2. Profile,做trace追蹤SQL的執行,找出耗費資源比較大的SQL語句或SP

 

3. SQL Server Configuration

 

4. Index and T-SQL Program

 

.

.

.

......

 

 

SQL Server效能調校系列:

SQL Server效能調教系列(1)-概述

SQL Server效能調教系列(2)--Server Performance Monitor(Perfmon)

SQL Server效能調教系列(3)--PowerShell Get-Counter(計劃中...)

SQL Server效能調教系列(4)--Profiler(上)

SQL Server效能調教系列(4)--Profiler(下)

SQL Server效能調教系列(5)--SQL Server配置

SQL Server效能調教系列(6)--Index Structure and Tuning

SQL Server效能調校系列(7)--RAID

SQL Server效能調教系列(8)--執行計畫(計劃中...)

...

未完待續....

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.