确定硬件资源瓶颈和优化操作系统是一门艺术,需要识别检测如下几个子系统:
测试和检测工具使用win2003自带的性能检测工具:性能计数器
1.处理器系统,以下指标确定处理器是否存在瓶颈
- Processor :%Processor Time计数器不应该持续大于80%
- System :Processor Queue Length计数器不应该持续大于2
- 每个处理器的Processor-context switches/sec不应该大于8000
- Process :%Processor Time 的所有实例,检测是那个程序是处理器的瓶颈
解决方案:购买附加或者更快的处理器,或者升级服务器
2.内存系统
问题:性能低下,没有可用内存,大了延迟写入或检查点进程和操作系统分页而产生的IO
- 检查任务管理器中‘性能’选项卡中的物理内存和内存使用值
- 检查Memory :availabe KBytes计数器,可用内存是否缺乏
- 检查 Memory:Pages/sec 和Memory:page faults/sec计数器 他们应该接近0,若持续大于某个值则表明有问题
- Memory:System Cache Resident Bytes
- Memory :committed Bytes
- Memory :Commit limit
- Process: Working SET
- Process :Private Bytes
解决方案:查找低效的查询,引入索引策略,采购适量的内存加入
3.IO子系统
准则
- PhysicalDisk:%Disk time 不应该大于50%
- PhysicalDisk:Avg.Disk Queue length 不应该大于2
- PhysicalDisk:Avg.Disk Reads/Sec 持续小于磁盘子系统容量85%
- PhysicalDisk:Avg.Disk Wirtes/Sec 持续小于磁盘子系统容量85%
- PhysicalDisk Avg.Disk Sec/Read 和PhysicalDisk Avg.Disk Sec/Wirte 准则
<10ms 非常好
10-20ms 好
20-50ms 慢,需要注意
>50ms 严重的IO瓶颈
解决方案:购买附加的磁盘驱动器,隔离IO,重新分发数据库文件的位置,配置RAID阵列