sqlserver處理器,sqlserver管理器

如何識別SQL Server中的CPU瓶頸

問題:

創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元海門做網(wǎng)站,已為上家服務,為海門各地企業(yè)和個人服務,聯(lián)系電話:18982081108

如果經(jīng)常遇到CPU瓶頸而導致的SQLServer宕機,那如何去發(fā)現(xiàn)并解決這些相關(guān)的問題?

解決方案:

導致CPU成為SQLServer性能問題的原因有很多,比較明顯的原因是因為資源不足。但是,CPU的利用率可以通過配置的更改和查詢的優(yōu)化來降低,所以當你想買更快更好的處理器之前,先要考慮前面的操作。下面是使用一些內(nèi)置工具來識別CPU相關(guān)瓶頸:

性能監(jiān)視器(Performance Monitor):

可以使用性能監(jiān)視器來檢查CPU的負載。檢查Processor:% Processor Time 這個計數(shù)器:如果長期超過80%/處理器,那很有可能面臨了CPU相關(guān)瓶頸。

CPU密集操作主要是編譯和重編譯。你可以通過使用SQL Statistics對象計數(shù)器來監(jiān)視它們的情況。也可以監(jiān)控批處理接收的數(shù)量來查看。如果SQL Recompilations/sec 中的BatchRequests/sec的速率很高,那就有潛在的問題:

配置和監(jiān)視以下計數(shù)器:

SQL Server: SQL Statistics: SQL Compilations/sec

SQL Server: SQL Statistics: SQL Recompilations/sec

SQL Server: SQL Statistics: Batch Requests/sec

可以從MSDN中獲取關(guān)于這部分的詳細信息: MSDN Library.

另外一個用于探測CPU相關(guān)問題的計數(shù)器是:SQL Server: Cursor Manager By Type – CursorRequests/Sec ,用于顯示你的服務器上游標使用情況。如果你看到每秒有數(shù)以百計的游標請求,那很有可能是因為低效的游標使用和小體積提取操作(small fetch size)引起性能問題。

內(nèi)部并行查詢同樣會引起CPU問題,可以檢查:

SQL Statistics:Batch Requests/sec counter 計數(shù)器。在CPU生命周期中,每秒的批處理應該很小。如果過多,意味著正在使用并行計劃運行。

動態(tài)管理視圖(DMVs):

以下是對排查CPU瓶頸游泳的DMVs。動態(tài)視圖:sys.dm_exec_query_stats顯示目前緩存的批處理或者使用CPU的過程。下面的查詢用于檢查耗費CPU的執(zhí)行計劃:

select plan_handle,

sum(total_worker_time) as total_worker_time,

sum(execution_count) as total_execution_count,

count(*) as number_of_statements

from sys.dm_exec_query_stats

group by plan_handle

order bysum(total_worker_time), sum(execution_count) desc

SQLServer2008在每個查詢編譯時,會計算其hash值。你可以在query_hash列中找到該值,是否兩個查詢僅僅字面值不同但是使用相同query_hash值。該值也在 Showplan/Statistics XML QueryHash屬性中可以查看。

Plan_generation_num列顯示一個查詢被重編譯的次數(shù)。

SQLServer優(yōu)化器嘗試選擇能提供最快響應時間的執(zhí)行計劃,但是不代表總是低CPU利用。低效的查詢計劃會引起CPU的好用,此時同樣可以使用sys.dm_exec_query_stats 來監(jiān)控。

如果你想有一個對SQLServer優(yōu)化所耗費時間的總覽,可以檢查:

sys.dm_exec_query_optimizer_info 。其中的消耗時間和最后開銷會非常有用。

可以使用以下DMVs來查詢內(nèi)部并行查詢及其查詢文本、執(zhí)行計劃的情況:

sys.dm_exec_cached_plan: Shows the cached query plans.

sys.dm_exec_requests: Shows each executing request in the SQL Server instance.

sys.dm_exec_sessions: Shows all active user connections and internal tasks.

sys.dm_exec_sql_text: Shows the text of the SQL batches.

sys.dm_os_tasks: Shows each active task within SQL Server.

SQL Server Profiler:

如果性能監(jiān)視器發(fā)現(xiàn)有問題,同樣可以使用SQLServer Profiler來發(fā)現(xiàn)不必要的編譯和重編譯。SQLServer Profiler 跟蹤能幫助你找到一直重編譯的存儲過程。可以使用下面的事件:

SP:Recompile, CursorRecompile, SQL:StmtRecompile: 這個事件是針對SQLServer的重編譯。SP:Recompile事件中的EventSubClass 說明了重編譯的原因。

· Showplan XML For Query Compile: 這個事件是針對T-SQL語句的重編譯。包含了查詢計劃和過程的對象ID.注意對這個事件運行一個跟蹤,能得到利用系統(tǒng)資源的重要信息。但是,如果性能計數(shù)器報告SQL Compilations/sec 的值很高時,跟蹤將非常好資源。

低效的游標可以使用RPC:Completed事件來跟蹤。查看sp_cursorfetch語句并檢查第四個參數(shù),包含每次提前(fetch)包含的行數(shù)。

sql server 2019跟2012的要求

sqlserver2019最低要求是1.4GHz64位處理器,與x64指令集兼容,支持NX和DEP支持CMPXCHG16b、LAHF/SAHF和PrefetchW支持二級地址轉(zhuǎn)換(EPT或NPT)。sqlserver2021的要求是Express版本是512MB,所有其他版本是1GB,x86處理器:1.0GHz,x64處理器:1.4GHz,x64處理器:AMDOpteron、AMDAthlon64、支持IntelEM64T的IntelXeon、支持EM64T的IntelPentiumIV。

SQLServer是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。SQLServer近年來不斷更新版本,1996年Microsoft推出了SQLServer6.5版本,1998年,SQLServer7.0版本和用戶見面,SQLServer2000是Microsoft公司于2000年推出的最新版本。

SQLServer特點是真正的客戶機/服務器體系結(jié)構(gòu)。圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。豐富的編程接口工具,為用戶進行程序設(shè)計提供了更大的選擇余地。SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成。

sqlserver 占用CPU高 求原因

有很多存儲過程 都是SQL內(nèi)部會調(diào)用的??梢员O(jiān)控一下 。查看 到底 調(diào)用了哪些存儲過程。

高頻率CPU和多核CPU,哪個執(zhí)行SQLSERVER效率更高

一般來說數(shù)據(jù)庫更偏向于多核處理器,樓主可以看看大部分的服務器都采用了多核多路的設(shè)計,不過具體也得看具體的服務器應用方向,不能一概而論。

SQL Serve這類程序?qū)Χ嗪藘?yōu)化的都很好,多核心及多路設(shè)備可以同時查詢更多數(shù)據(jù),減少出現(xiàn)數(shù)據(jù)排隊的情況。

玩游戲方面,目前以四核處理器搭配高主頻、基本都夠用了(單核性能也比較重要)。

SQLSERVER到底能識別多少個邏輯CPU

如果操作系統(tǒng)能識別80個邏輯CPU表明:

4顆10核2.00處理器 ,每核心雙線程(4*10*2=80),也就是80個邏輯處理器(每個線程代表一個邏輯CPU)

或者

4顆10核2.00處理器 ,每核心一個線程,但是使用了超線程技術(shù)之后變?yōu)槊亢诵碾p線程(4*10*2=80),

也就是80個邏輯處理器(每個線程代表一個邏輯CPU)

LZ說:在sql server 2005中數(shù)據(jù)庫屬性處理器一項中只能識別cpu0-cpu59,并且群集切換后,另一臺接管資源節(jié)點只能識別到20顆邏輯處理器。

只能識別到60個邏輯CPU

分享標題:sqlserver處理器,sqlserver管理器
分享地址:http://muchs.cn/article8/pheoop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作標簽優(yōu)化、定制開發(fā)搜索引擎優(yōu)化、外貿(mào)建站、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)