性能调优的第一步是建立性能基线。
DBA通过定期收集性能数据与不同时期的基线比较,通过偏差分析和趋势分析,宏观上把控数据库的整体状态。如:随着业务量的持续攀升,batch requests/sec和sql compliations.sec计数器的数值都将呈现上升曲线。其比值如果超过每10个批次请求1次编译。预示着cpu面临压力。
建立基线的步骤:
1、windows性能监视器监视数据库状态。
该过程主要是确定需要监视的性能计数器。监视过程对系统有轻微影响。建议将监视数据写入非数据库所在磁盘,降低写入数据时对数据库读写性能的影响。
主要性能计数器:
性能对象 | 计数器 | 提供的信息 |
---|---|---|
Processor | % ldle Time | 处理器在采样期间空闲时间的百分比 |
Processor | % Processor Time |
指处理器用来执行非闲置线程时间的百分比。(CPU占用率。80%说明cpu处于繁忙状态) |
Processor | % User Time | 处理器处于用户模式的时间百分比 |
Memory | Available Bytes | 显示出当前空闲的物理内存总量。 该数值变小说明Windows开始频繁地调用磁盘页面文件;该数值<5MB时,系统会将大部分时间消耗在操作页面文件上 |
Memory | % Committed Bytes In Use |
内存使用百分比,[Compitted Bytes / Commit Limit]的比值 |
Memory | Page Faults/sec | 指处理器处理错误页的综合速率,[错误页数/s]来计算。这里包括硬错误和软错误。 |
memory | page reads/sec | 指硬页面错误。硬页面错误:不在活动的工作集中,需要到虚拟内存或者磁盘中查找。软错误:不在活动的工作及中,在其它物理内存中。 |
Network Interface | Bytes Total/sec |
发送和接收字节的速率,包括帧字符在内 |
Network Interface | Packets/sec | 发送和接收数据包的速率 |
Physical Disk | % Busy Time |
磁盘驱动器忙于为读or写入请求提供服务所用时间的百分比。 若该数值比较大,则硬盘有可能是瓶颈 |
Physical Disk | Avg. Disk Queue Length | 磁盘队列的平均长度。磁盘完成对读取和写入请求的处理时间,磁盘数据吞吐量的外在表现 |
Physical Disk | Current Disk Queue Length | 在收集操作数据时,磁盘上未完成的请求数目 |
sqlserver | buffer chace hit ratio | 高速缓存命中率。接近100%最好。持续降低表明内存存在问题。该值包含预读数据,略为虚高。 |
page life expectancy | 页面寿命标识页面在缓存中存放的时间。低于300s说明服务器内存不足。 | |
batch requests/sec | sqlserver 每秒接收批处理的数量 | |
sql compilation/sec | sqlserver 每秒编译sql的数量。编译操作消耗大量的CPU资源 | |
sql re-compilation/sec | sqlserver 每秒重新编译sql的数量 | |
user connections | 同一时刻连接服务器的用户数量 | |
lock waits/sec:_total | 每秒钟所申请资源被锁定的次数 | |
page splits/sec | 每秒发生分页的数量。尽量减少分页。应小于批请求/s的20% | |
processes block | 某一时刻进程阻塞的数量 | |
checkpoint pages/sec | 每秒钟写入到磁盘的页数。该计数器持续上升可能预示着硬盘和内存频繁交互数据,内存严重不足。 |
2、PAL分析监视日志
分析基线时注意选择分析模板或者选择分析日志监视的所有计数器。
3、存档分析数据作为基线
标签:性能,计数器,调优,sec,内存,磁盘,Disk From: https://www.cnblogs.com/sxf2086he/p/16882120.html