1. PhysicalDisk
计数器 | 描述 | 值 |
Disk Time | 磁盘繁忙时间的百分比 | Avg < 85% |
Current Disk Queue length | 性能数据收集时未完成磁盘请求的数量 | Avg< 每个磁盘 2 |
Avg. Disk Queue Length | 采样时间间隔中磁盘请求队列的平均长度 | Avg< 每个磁盘 2 |
Disk Transfers/sec | 每秒每个磁盘传输的数据量 | Max< 每个磁盘 100 |
Disk Bytes/sec | 每秒每个磁盘传输的数据量 | Max< 每秒 10MB |
Avg. Disk Sec/Read | 从磁盘读取的平均时间(毫秒) | Avg<10ms |
Avg. Disk Sec/Write |
| Avg<10ms |
|
|
|
2. PhysicalDisk 计数器表示物理磁盘上的活动。 LogicalDisk 计数器表示物理磁盘上创建的逻辑子系统(或分区)。
3. 磁盘瓶颈的常用解决方案:
a) 优化应用程序工作负责;
b) 使用更快的磁盘驱动器;
c) 使用 RAID 阵列;
d) 使用 SAN 系统;
e) 恰当地对齐磁盘;
f) 使用电池后备控制器缓冲;
g) 增加系统内存;
h) 创建多个文件和文件组;
i) 将表和表的索引放置到不同的磁盘;
j) 将日志文件保存到单独的物理驱动器;
k) 使用分区的表。
RAID 0 | 条带化,无容错 | 可以放 tempdb |
RAID 1 | 镜像 |
|
RAID 5 | 条带化,带校验 |
|
RAID1+0 | 条带化,带镜像 |
|
4. 使用 SAN 系统
内存使用监控BaseLine:
1. SQL Server: Buffer Manager Page Life Expectancy
SELECT
* FROM
sys.dm_os_performance_counters WHERE
counter_name = 'Page life expectancy'
2. Memory: Pages/sec
perfmon
3. SQL Server: Buffer Manager: Free Pages
SELECT
* FROM
sys.dm_os_performance_counters WHERE
counter_name = 'Free pages'
AND
[object_name] LIKE
'%BUFFER MANAGER%'
4. Memory: Available Mbytes
perfmon 注意,结果是megabyte,不是byte.如果小于128,则可能有内存压力
5. Memory: Free System Page Table Entries
perfmon 3000一下表示性能压力
没用 /3GB 开关, 推荐值( 80,000 ~ 140,000)使用 /3GB 开关,(> 15,000)
6. SQL Server: Memory Manager Memory Grants Pending
等待内存分配以便执行的进程数,正常保持为0
select
* from
sys.dm_os_performance_counters WHERE
counter_name like
'Memory Grants Pending%'
7. Paging File(_Total): % Usage
应该<70%,否则有性能压力
perfmon
指标 | 基线值(表示出现性能压力的值) |
SQL Server: Buffer Manager Page Life Expectancy | >300 |
Memory: Pages/sec | <20 |
SQL Server: Buffer Manager: Free Pages | >640 |
Memory: Available Mbytes | >128 |
Memory: Free System Page Table Entries | > 3,000 |
SQL Server: Memory Manager Memory Grants Pending | 0 |
Paging File(_Total): % Usage | > 70% |