sql性能計數器
❶ 安裝sql Server 2005時,在檢測時出現「性能監視器計數器要求
安裝SQL
Server
2005時,在檢測時出現「性能監視器計數器要求(錯誤)」
。
打開注冊表,找到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Perflib\Last
Counter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Perflib\Last
Help
這兩個的值要與同級目錄下009或004文件夾下的Counter和Help最大值對應保持一至即可。
注意:中文版找004,英文版找009
例:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Perflib\Last
Counter
值:12072
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Perflib\004\Counter
值:10000
將HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Perflib\Last
Counter的值替換成
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Perflib\004\Counter中的值即可。
❷ 安裝sql server 2005 遇到問題性能監視器計數器要求 (錯誤
依次單擊「開始」、「運行」,然後在「打開」中鍵入 regedit.exe,再單擊「確定".打開 regedit , 定位到
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
目錄下有Last Counter 和 Last Help 兩個鍵值。在Perflib目錄下有004和009兩個子目錄。其中有Counter 和 Help兩個鍵值。
查看004目錄(對於中文系統,英文系統是009目錄)下的Counter 記錄其最後的數字,我這里是11214,將該值寫到Last Counter
中;同樣將004目錄中的Help中最後的數字,我這里是11215,寫到Last Help中。
再次安裝SQL2005,檢查通過。
❸ sql 2008安裝失敗,顯示「性能計數器注冊表配置單元損壞」 若要繼續需要修復什麼的~求怎麼修復……
額,我也遇到類似情況,這個引起的原因是以前資料庫刪除沒有刪干凈
因為sql是一個無不兼容的程序軟體, 你先前已經安裝過sql了,雖然你卸載了,但是它是不能完全卸載干凈的,一旦系統內用存留,安裝的時候就會發生沖突
我以前就是安裝的2005,然後卸載重新安裝2008就遇到這個問題,當時也從注冊表修改,我那個有help和counter,但是修改後還是不能通過,還是安裝不了
最好就是重裝系統,而且最好是在安裝其他東西之前,先裝sql
可能你會覺得直接說重裝系統是不負責任的做法,但是我是在試了種種方法後還是不能解決才重裝的,現在可以正常使用了,希望對你有所幫助!
❹ 如何判斷MSSQL資料庫磁碟出現了瓶頸
具體問題具體分析,舉例來說明為什麼磁碟IO成瓶頸資料庫的性能急速下降了。
為什麼當磁碟IO成瓶頸之後, 資料庫的性能不是達到飽和的平衡狀態,而是急劇下降。為什麼資料庫的性能有非常明顯的分界點,原因是什麼?
相信大部分做資料庫運維的朋友,都遇到這種情況。 資料庫在前一天性能表現的相當穩定,資料庫的響應時間也很正常,但就在今天,在業務人員反饋業務流量沒有任何上升的情況下,資料庫的變得不穩定了,有時候一個最簡單的insert操作, 需要幾十秒,但99%的insert卻又可以在幾毫秒完成,這又是為什麼了?
dba此時心中有無限的疑惑,到底是什麼原因呢? 磁碟IO性能變差了?還是業務運維人員反饋的流量壓根就不對? 還是資料庫內部出問題?昨天不是還好好的嗎?
當資料庫出現響應時間不穩定的時候,我們在操作系統上會看到磁碟的利用率會比較高,如果觀察仔細一點,還可以看到,存在一些讀的IO. 資料庫伺服器如果存在大量的寫IO,性能一般都是正常跟穩定的,但只要存在少量的讀IO,則性能開始出現抖動,存在大量的讀IO時(排除配備非常高速磁碟的機器),對於在線交易的資料庫系統來說,大概性能就雪崩了。為什麼操作系統上看到的磁碟讀IO跟寫IO所帶來的性能差距這么大呢?
如果親之前沒有注意到上述的現象,親對上述的結論也是懷疑。但請看下面的分解。
在寫這個文章之前,作者閱讀了大量跟的IO相關的代碼,如非同步IO線程的相關的,innodb_buffer池相關的,以及跟讀數據塊最相關的核心函數buf_page_get_gen函數以及其調用的相關子函數。為了將文章寫得通俗點,看起來不那麼累,因此不再一行一行的將代碼解析寫出來。
咱們先來提問題。buf_page_get_gen函數的作用是從Buffer bool裡面讀數據頁,可能存在以下幾種情況。
提問. 數據頁不在buffer bool 裡面該怎麼辦?
回答:去讀文件,將文件中的數據頁載入到buffer pool裡面。下面是函數buffer_read_page的函數,作用是將物理數據頁載入到buffer pool, 圖片中顯示
buffer_read_page函數棧的頂層是pread64(),調用了操作系統的讀函數。
通過解析buf_wait_for_read函數的下層函數,我們知道其實通過首先自旋加鎖pin的方式,超過設定的自旋次數之後,進入等待,等待IO完成被喚醒。這樣節省不停自旋pin時消耗的cpu,但需要付出被喚起時的開銷。
再繼續擴展問題: 如果會話線程A 經過物理IO將數據頁1001讀入buffer之後,他需要修改這個頁,而在會話線程A之後的其他的同樣需要訪問數據頁1001的會話線程,即使在數據頁1001被入讀buffer pool之後,將仍然處於等待中。因為在數據頁上讀取或者更新的時候,同樣需要上鎖,這樣才能保證數據頁並發讀取/更新的一致性。
由此可見,當一個高並發的系統,出現了熱點數據頁需要從磁碟上載入到buffer pool中時,造成的延遲,是難以想像的。因此排在等待熱點頁隊列最後的會話線程最後才得到需要的頁,響應時間也就越長,這就是造成了一個簡單的sql需要執行幾十秒的原因。
再回頭來看上面的問題,mysql資料庫出現性能下降時,可以看到操作系統有讀IO。 原因是,在資料庫對數據頁的更改,是在內存中的,然後通過檢查點線程進行非同步寫盤,這個非同步的寫操作是不堵塞執行sql的會話線程的。所以,即使看到操作系統上有大量的寫IO,資料庫的性能也是很平穩的。但當用戶線程需要查找的數據頁不在buffer pool中時,則會從磁碟上讀取,在一個熱點數據頁不是非常多的情況下,我們設置足夠大的innodb_buffer_pool的size, 基本可以緩存所有的數據頁,因此一般都不會出現缺頁的情況,也就是在操作系統上基本看不到讀的IO。 當出現讀的IO時,原因時在執行buf_read_page_low函數,從磁碟上讀取數據頁到buffer pool, 則資料庫的性能則開始下降,當出現大量的讀IO,資料庫的性能會非常差。
❺ 如何啟用SQL SERVER 性能計數器
如何啟用SQL SERVER 性能計數器
具體操作步驟:
一、運行regedit,找到:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]。在該目錄下存在兩個文件夾:004和009,004為中文版操作系統值,009為英文版操作系統值。
二、查看相應文件夾中的counter和help值中記錄的最大數字。
三、將這兩個數字賦給Perflib下的last counter和last help,選擇十進制,填入數字,點擊確定即可。
❻ 安裝SQL2005時系統配置檢查出現「性能監視器計數器要求」錯誤的報告怎麼解決
沒卸載干凈而已。
按照以下步驟操作。
1.運行cmd,然後執行
unlodctrw3svc
unlodctrmsftpsvc
unlodctrasp
unlodctrinetinfo
以上是將四個計數器都刪除
2.以下重新安裝計數器
lodctrw3ctrs.ini
lodctrftpctrs.ini
lodctraxperf.ini
lodctrinfoctrs.ini
重新安裝就可以了。
如下圖:
保證管用,要是不起作用的話,你就私信我!
❼ SQL Server需要監控哪些計數器
常規計數器
收集操作系統伺服器的伺服器性能信息,包括Processor、磁碟、網路、內存
Processor 處理器
1.1 % Processor Time指處理器用來執行非閑置線程時間的百分比。通過此計數器可以確定伺服器當前CPU使用百分比。
1.2 % Privileged Time是在特權模式下進程線程執行代碼所花時間的百分比。當調用 Windows 系統服務時,此服務經常在特權模式運行,以便獲取對系統專有數據的訪問。
PhysicalDisk物理磁碟(某個RAID)
2.1 Avg. Disk Queue Length等待請求的隊列長度,若此值過大,說明磁碟存在瓶頸,自然磁碟延遲的值也會過大。
2.2 Avg. Disk sec/Read;Avg. Disk sec/Transfer;Avg. Disk sec/Write這三個計數器表示磁碟每次讀寫需要多少時間,表示磁碟的延遲情況,以秒為單位,若延遲超過25mm表示磁碟性能較差。
LogicalDisk邏輯磁碟(某個卷)
3.1 % Free Space某個磁碟的空閑百分比;Free Megabytes 磁碟剩餘大小MB
3.2 Disk Read Bytes/sec;Disk Transfers/sec;Disk Write Bytes/sec這三個計數器表示每秒磁碟的讀寫情況,表示磁碟的IO性能(iops)
Memory 內存
4.1 Available Mbytes可以內存大小MB,此內存能立刻分配給一個進程或系統使用。它等於分配給待機(緩存的)、空閑和零分頁列表內存的總和。
4.2 Cache Bytes 系統使用的內存
4.3 Commit Limit可以申請的內存總大小(虛擬內存和物理內存);Committed Bytes已經使用的內存大小(虛擬內存和物理內存);均是以Byte(位元組)為單位。
4.4 Free System Page Table Entries指系統當前未使用的頁表項數目。表示內存是否空閑。
4.5 Page Faults/sec 每秒出錯頁面的數量,也就是未在內存中命中的頁面數。因此伴隨著Pages/sec計數器是由於出錯頁面從磁碟讀取數據頁的速度。此值越大說明內存可能存在一定瓶頸,或者存在大量數據存取。
Network Interface 網路介面
5.1 Current Bandwidth指以位/每秒估計的網路介面的當前帶寬。對於那些帶寬不變的或無法估計出准確數據的界面,這個值為名義帶寬。
5.2 Bytes Received/sec;Bytes Sent/sec;Bytes Total/sec每秒種發送和接收的位元組數,表示當前網路的使用情況。
5.3 Output Queue Length輸出數據包隊列,此值大於2說明傳輸存在延遲。
5.4 Packets Outbound Discarded 被選為丟棄的數據包數目,丟棄的原因可能是釋放緩沖空間。Packets Outbound Errors 由於錯誤不能傳輸的數據包數目
5.5 Packets Received Discarded 被選為丟棄的數據包數目,丟棄的原因可能是釋放緩沖空間。Packets Received Errors 由於錯誤不能傳輸的數據包數目
SQL Server計數器
SQL Server中的Access Methods對象提供監視訪問資料庫中的邏輯數據的計數器;Buffer Manager計數器監視對磁碟上的資料庫也的物理訪問。
Access Methods 存取方式
Access Methods監視用於訪問資料庫中存儲的數據的方法有助於確定是否可以通過添加或修改索引、添加或移動分區、添加文件或文件組、對索引進行碎片整理或者重寫查詢來提高查詢性能。 Access Methods 計數器也可用於監視資料庫中數據、索引和可用空間的數量,從而指示每個伺服器實例的數據卷和碎片。索引的碎片過多會降低性能。
1.1 Page Splits/sec每秒由於索引頁溢出而發生的頁拆分數。此數據越大表示某表的修改頻率較高,且要確認該索引是否適合建立該欄位上。
1.2 Workfiles Created/sec每秒創建的工作文件數
1.3 Worktables Created/sec每秒創建的工作表數
Buffer Manager 緩存管理
監視用於存儲數據頁的內存;讀取和寫入資料庫頁時的物理io等,通過此對象可以判斷是否存在物理內存瓶頸可以了解伺服器的查詢性能等等。
2.1 Buffer cache hit ratio命中高速緩沖區頁的百分比。若此值過低說明可能內存存在一定瓶頸
2.2 Database pages緩沖池中資料庫內容的頁數
2.3 Page life expectancy頁指示頁面在沒有引用的情況下,在此節點的緩沖池中停留的時間(以秒計)。此值若降低說明,伺服器頻繁查詢資料庫中數據。
2.4 Checkpoint pages/sec Checkpoint的執行頻率,若執行的頻率過高。則說明伺服器過於頻繁的修改數據。
2.5 Lazy writes/sec 若懶寫入過於頻繁,說明沒有空閑的緩沖區供使用,內存可能存在一定瓶頸。「惰性編寫器」是一個系統進程,用於成批刷新臟的過期的緩沖區(包含更改的緩沖區,必須將這些更改寫回磁碟,才能將緩沖區重用於其他頁),並使它們可用於用戶進程。
Memory Manager 內存管理
監視總體的伺服器內存使用情況,以估計用戶活動和資源使用,有助於查明性能瓶頸。
3.1 Memory Grants Pending指定等待工作空間內存授權的進程總數。指等待分配內存的進程數量,若此值過高或內存或磁碟存在一定瓶頸。
3.2 Target Server Memory (KB);Total Server Memory (KB)理想上能使用內存量與內存管理器提交的內存量。若此兩值存在差異則說明內存異常。
General Statistics 常規統計
4.1 User Connections;Logins/sec;Logouts/sec 用戶並發情況
4.2 Processes blocked當前阻塞數量
4.3 Temp Tables For Destruction等待被清除系統線程破壞的臨時表/表變數數。無用的臨時表和表變數。
SQL Statistics; Wait Statistics請求與等待統計
5.1 Batch Requests/sec;SQL Compilations/sec;SQL Re-Compilations/sec每秒的請求、編譯和重編譯的次數,這些對於優化供參考。
5.2 Lock waits等待鎖的進程數。
5.3 Log write waits等待寫入日誌緩存的進程數
5.4 Page IO latch waits與頁 I/O 閂鎖相關的統計信息。用於判斷內存或磁碟的瓶頸情況
5.5 Page latch waits與頁閂鎖(不包括 I/O 閂鎖)相關的統計信息。用於判斷內存或磁碟的瓶頸情況
Databases針對資料庫級別
6.1 Log Flush Wait Time;Log Flushes/sec日誌刷新等待和頻率,若數據異常則可能存在磁碟瓶頸
6.2 Transactions/sec 事務數
Locks鎖
7.1 Lock Requests/sec;Lock Timeouts/sec鎖請求頻率;鎖超時頻率
7.2 Number of Deadlocks/sec 死鎖情況。
❽ 安裝sql server 2008時,出現性能計數器注冊表配置單元一致性失敗
打開cmd,
鍵入
cd
%Systemroot%\System32
perfc009.dat
perfc004.dat
perfh009.dat
perfh.004.dat
就搞定了!!!
關閉注冊表編輯器,
重新啟動計算機。
再次運行sql安裝程序,檢測通過,至此可以正常安裝了