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安装程序,检测通过,至此可以正常安装了