成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server2008中CPU性能監(jiān)控

數(shù)據庫 SQL Server
SQL Server是一個關系數(shù)據庫管理系統(tǒng),在SQL Server的發(fā)展歷程中開發(fā)出了很多新的版本,SQL Server2008就是其中之一,下文為大家介紹SQL Server2008中CPU性能監(jiān)控。

CPU性能診斷

CPU架構

  目前的主流企業(yè)服務器基本可以分為三類:SMP(Symmetric Multi Processing,對稱多處理架構),NUMA(Non-Uniform Memory Access,非一致存儲訪問架構)和MPP(Massive Parallel Processing,海量并行處理架構)

  SMP(Symmetric Multi Processing)

  SMP是非常常見的一種架構。在SMP模式下,多個處理器均對稱的連接在系統(tǒng)內存上,所有處理器都以平等的代價訪問系統(tǒng)內存。它的優(yōu)點是對內存的訪問是平等、一致的;缺點是因為大家都是一致的,在傳統(tǒng)的 SMP 系統(tǒng)中,所有處理器都共享系統(tǒng)總線,因此當處理器的數(shù)目增多時,系統(tǒng)總線的競爭沖突迅速加大,系統(tǒng)總線成為了性能瓶頸,所以目前 SMP 系統(tǒng)的處理器數(shù)目一般只有數(shù)十個,可擴展性受到很大限制。


MPP (Massive Parallel Processing)

  MPP則 是邏輯上將整個系統(tǒng)劃分為多個節(jié)點,每個節(jié)點的處理器只可以訪問本身的本地資源,是完全無共享的架構。節(jié)點之間的數(shù)據交換需要軟件實施。它的優(yōu)點是可擴展 性非常好;缺點是彼此數(shù)據交換困難,需要控制軟件的大量工作來實現(xiàn)通訊以及任務的分配、調度,對于一般的企業(yè)應用而言過于復雜,效率不高。


NUMA(Non-Uniform Memory Access)

  NUMA架構則在某種意義上是綜合了SMP和MPP的特點:邏輯上整個系統(tǒng)也是分為多個節(jié)點,每個節(jié)點可以訪問本地內存資源,也可以訪問遠程內存資源,但訪問本地內存資源遠遠快于遠程內存資源。它的優(yōu)點是兼顧了SMP和MPP的特點, 易于管理,可擴充性好;缺點是訪問遠程內存資源的所需時間非常的大。

  不過目前世界上排名靠前的大型機都是基于MPP架構的,AMD最早支持NUMA架構,而盡管Intel一直是SMP的支持者,但從Xeon處理器和酷睿i7開始也逐步走向了NUMA架構之路。

  SQL Server從2000版本的SP4起開始增加了對NUMA的支持,從2005版本起得到了全面的采用;SQL Server2008 R2版本起夜增加了對MPP架構的支持;不過從目前SQL Server的情況來看,主要是支持SMP和NUMA兩種架構。

 

 

#p#

Windows性能監(jiān)控

  使用管理工具中的“性能”管理工具可以自動從本地或遠程計算機收集性能數(shù)據。可以使用“系統(tǒng)監(jiān)視器”查看記錄的計算機數(shù)據,也可以將數(shù)據導出到電子表格程序或數(shù)據庫進行分析并生成報告。該工具類似于linux下的top,iostat,vmstat等監(jiān)控命令。

  對于SQL Server占用CPU資源的監(jiān)控主要集中在消耗時間的百分比和處理器隊列長度上,下面提供了幾種對象、計數(shù)器和相應的閾值及描述。


SQL Server性能監(jiān)控

  SQL Server內部監(jiān)控對象及其計數(shù)器可以通過性能工具進行收集和評估,但從SQL Server2005之后提供了一個叫sys.dm_os_performance_counters的系統(tǒng)視圖,這個視圖返回的信息列舉與SQL Server直接相關的性能統(tǒng)計。

  下面語句可以統(tǒng)計出SQL Server所有的監(jiān)控對象和計數(shù)器情況。

SELECT object_name,COUNT(DISTINCT counter_name)

  FROM sys.dm_os_performance_counters

  GROUP BY object_name

  ORDER BY object_name


在本機中共計27中SQLServer對象和334個計數(shù)器,其中加粗部分字體為最常關注的對象。

  以下是對象類別、計數(shù)器數(shù)量和對象描述。

  MSSQL$MYSQLSERVER:Access Methods 43 搜索并測量 SQL Server 數(shù)據庫對象的分配(例如,索引搜索數(shù)或分配給索引和數(shù)據的頁數(shù))。

  MSSQL$MYSQLSERVER:Broker Activation 6 提供有關已激活 Service Broker 的任務的信息。

  MSSQL$MYSQLSERVER:Broker Statistics 37 提供 Service Broker 的常規(guī)信息。

  MSSQL$MYSQLSERVER:Broker TO Statistics 9

  MSSQL$MYSQLSERVER:Broker/DBM Transport 34 提供有關Service Broker網絡的信息。

  MSSQL$MYSQLSERVER:Buffer Manager 21 提供有關 SQL Server 所用的內存緩沖區(qū)的信息,如可用內存和 buffer cache hit ratio。

  MSSQL$MYSQLSERVER:Buffer Node 9 提供有關SQL Server請求和訪問可用頁的頻率的信息。

  MSSQL$MYSQLSERVER:Buffer Partition 3 提供有關SQL Server請求和訪問可用頁的頻率的信息。

  MSSQL$MYSQLSERVER:Catalog Metadata 4

  MSSQL$MYSQLSERVER:CLR 1 提供有關公共語言運行時 (CLR) 的信息。

  MSSQL$MYSQLSERVER:Cursor Manager by Type 9 提供游標信息。

  MSSQL$MYSQLSERVER:Cursor Manager Total 3 提供游標信息。

  MSSQL$MYSQLSERVER:Databases 26 提供有關 SQL Server 數(shù)據庫的信息,如可用的日志空間數(shù)量或數(shù)據庫中活動事務數(shù)。這個對象可有多個實例。

  MSSQL$MYSQLSERVER:Deprecated Features 1 對使用不推薦使用的功能的次數(shù)進行計數(shù)。

  MSSQL$MYSQLSERVER:Exec Statistics 4 提供了有關執(zhí)行統(tǒng)計信息的信息。

  MSSQL$MYSQLSERVER:General Statistics 24 提供有關服務器范圍內的常規(guī)活動的信息,如連接到 SQL Server 實例的用戶數(shù)。

  MSSQL$MYSQLSERVER:Latches 7 提供有關加在 SQL Server 所用的內部資源(如數(shù)據庫頁)上的閂鎖的信息。

  MSSQL$MYSQLSERVER:Locks 8 提供有關 SQL Server 的單個鎖請求的信息,如鎖超時和死鎖。這個對象可有多個實例。

  MSSQL$MYSQLSERVER:Memory Manager 14 提供有關 SQL Server 內存的使用信息,如當前分配的鎖結構總數(shù)。

  MSSQL$MYSQLSERVER:Plan Cache 5 提供有關 SQL Server 高速緩存的信息,該高速緩存用于存儲如存儲過程、觸發(fā)器和查詢計劃這樣的對象。

  MSSQL$MYSQLSERVER:Resource Pool Stats 15 提供了有關資源調控器資源池統(tǒng)計的信息。

  MSSQL$MYSQLSERVER:SQL Errors 1 提供有關 SQL Server 錯誤的信息。

  MSSQL$MYSQLSERVER:SQL Statistics 11 提供有關 SQL查詢各個方面的信息,如 SQL Server 收到的 Transact-SQL 語句的批數(shù)。

  MSSQL$MYSQLSERVER:Transactions 14 提供了有關 SQL Server 中活動事務的信息,如事務總數(shù)和快照事務數(shù)。

  MSSQL$MYSQLSERVER:User Settable 1 執(zhí)行自定義監(jiān)視。每個計數(shù)器可以是一個自定義的存儲過程或任何返回一個被監(jiān)視值的Transact-SQL語句。

  MSSQL$MYSQLSERVER:Wait Statistics 12 提供有關等待的信息。

  MSSQL$MYSQLSERVER:Workload Group Stats 12 提供了有關資源調控器工作負荷組統(tǒng)計的信息。
 

#p#

關于CPU的資源消耗基本來自于兩個方面,首先是低效率的查詢計劃,再次是過度編譯和重編譯。

  過度編譯和重編譯,SQL語句的編譯和重編譯都是CPU密集的活動,發(fā)生大量的重編譯,則CPU利用率會增加。所以對SQL Server在CPU上的關注會集中在這些SQL統(tǒng)計的編譯/重編譯計數(shù)器上。


下面語句。

SELECT top 25

  qt.text,

  qs.plan_generation_num,

  qs.execution_count,

  dbid,

  objectid

  FROM sys.dm_exec_query_stats qs

  CROSS APPLY sys.dm_exec_sql_text(sql_handle) as qt

  WHERE plan_generation_num >1

  ORDER BY qs.plan_generation_num


  SQL Server中,我們也可以確定平均或累計占用CPU時間最多的查詢,SQL Server優(yōu)化器是基于成本的,通過該查詢語句的定位,再進一步分析,是統(tǒng)計信息問題還是索引和連接難題。

SELECT top 50

  qt.text AS SQL_text ,

  SUM(qs.total_worker_time) AS total_cpu_time,

  SUM(qs.execution_count) AS total_execution_count,

  SUM(qs.total_worker_time)/SUM(qs.execution_count) AS avg_cpu_time,

  COUNT(*) AS number_of_statements

  FROM sys.dm_exec_query_stats qs

  CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt

  GROUP BY qt.text

  ORDER BY total_cpu_time DESC --統(tǒng)計總的CPU時間

  --ORDER BY avg_cpu_time DESC --統(tǒng)計平均單次查詢CPU時間


以下為SQL Server 2008關于CPU的一些系統(tǒng)視圖。


  dm_os_nodes提供了一個名為 SQL OS 的內部組件可創(chuàng)建模擬硬件處理器位置的節(jié)點結構。

  dm_os_schedulers 對于 SQL Server(每個計劃程序都映射到其中的單個處理器)中的每個計劃程序,相應地返回一行。使用此視圖可以監(jiān)視計劃程序的情況或標識失控任務

  dm_os_workers 則對于系統(tǒng)中的每個工作線程,相應地返回一行。

  dm_os_threads 對于系統(tǒng)中的所有SQLOS工作線程,相應地返回一行。

  sys.dm_os_tasks 為 SQL Server 實例中的每個活動任務返回一行。

  計算可運行狀態(tài)下的工作進程數(shù)量,來觀察CPU壓力

SELECT COUNT(*) as workers_waiting_for_cpu,s.scheduler_id

  FROM sys.dm_os_workers AS o

  INNER JOIN sys.dm_os_schedulers AS s

  ON o.scheduler_address=s.scheduler_address

  AND s.scheduler_id<255

  WHERE o.state='RUNNABLE'

  GROUP BY s.scheduler_id


  也可以查找用戶會話和操作系統(tǒng)線程的對照關系

 SELECT STasks.session_id, SThreads.os_thread_id

  FROM sys.dm_os_tasks AS STasks

  INNER JOIN sys.dm_os_threads AS SThreads

  ON STasks.worker_address = SThreads.worker_address

  WHERE STasks.session_id IS NOT NULL

  ORDER BY STasks.session_id;
 

 

上文中詳細介紹了SQL Server2008中CPU性能監(jiān)控的知識,內容比較多,希望大家不要漏過任何一個重要的知識點,相信對大家是百益而沒有害處的。

【編輯推薦】

  1. SQL Server2008數(shù)據挖掘的9種算法
  2. SQL Server2008數(shù)據庫鏡像實施筆記
  3. SQL Server 數(shù)據庫給CPU分配線程的操作流程
  4. 如何解決CPU過度消耗問題
責任編輯:迎迎 來源: IT168
相關推薦

2011-04-07 09:56:53

SQL Server 內存

2011-02-25 09:16:00

SQLSQL Server IO

2011-03-24 10:07:03

SQL Server2引擎組件CPU性能監(jiān)控

2010-11-10 10:27:58

訪問SQL Serve

2010-11-09 16:03:27

2011-09-07 15:11:31

SQL Server同步

2009-07-03 19:58:51

SQL Server2

2009-04-10 15:37:48

SQL Server2鏡像實施

2010-09-13 09:58:17

SQL Server2

2010-09-13 10:10:07

SQL Server2

2010-07-13 10:35:20

SQL Server2

2010-06-03 17:12:30

Windows Ser

2010-10-22 09:32:01

SQL Server2

2010-09-02 17:27:18

SQL Server安裝

2010-09-16 15:36:26

SQL Server2

2010-09-13 09:45:17

sql server2

2010-11-10 11:42:35

SQL Server2

2009-04-16 17:24:54

性能優(yōu)化SQL Server 數(shù)據收集

2009-04-16 17:44:46

性能優(yōu)化擴展高性能

2010-10-28 14:29:03

PowerShellServer2008
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精精国产xxxx视频在线 | 亚洲成人一区二区 | 欧美综合一区 | 国产综合第一页 | 亚洲狠狠丁香婷婷综合久久久 | 一区二区三区四区视频 | 久久久女 | 大吊一区二区 | 三级欧美| 成人av一区二区在线观看 | 91天堂网| 在线免费av观看 | 欧美一级毛片久久99精品蜜桃 | 91av免费看 | 精品美女在线观看视频在线观看 | 日韩一区在线播放 | 久久久久国产精品午夜一区 | 秋霞电影一区二区 | 一级日韩 | 日韩视频在线一区 | 亚洲三级在线观看 | 农村妇女毛片精品久久久 | 中文字幕 国产 | 亚洲高清在线免费观看 | 天天曰夜夜 | a视频在线观看 | 国产区精品在线观看 | 亚洲一区 中文字幕 | 国产婷婷色综合av蜜臀av | 色橹橹欧美在线观看视频高清 | 成人午夜精品 | 九九av| 久久成人高清视频 | 99久久久无码国产精品 | 日批的视频 | 男人亚洲天堂 | 九九热精品免费 | 国产在线精品区 | 亚洲午夜在线 | 国产高清视频在线观看 | 免费啪啪|