如何判断MSSQL数据库磁盘出现了瓶颈?
2015-11-19 18:37
232 查看
如何判断MSSQL数据库磁盘出现了瓶颈?
SQL SERVER提供了很多关于I/O压力的性能计数器,请选择性能计算器PhysicalDisk(LogicalDisk),根据我们的经验,如下指标的阈值可以帮助你判断IO是否存在压力:
1. %Disk Time :这个是磁盘时间百分比,这个平均值应该在85%以下
2. Current Disk Queue Length:未完成磁盘请求数量,这个每个磁盘平均值应该小于2.
3. Avg. Disk Queue Length:磁盘请求队列的平均长度,这个每个磁盘平均值也应该小于2
4. Disk Transfers/sec:每次磁盘传输数量,这个每个磁盘的最大值应该小于100
5. Disk Bytes/sec:每次磁盘传入字节数,这个在普通的磁盘上应该在10M左右
6. Avg. Disk Sec/Read:从磁盘读取的平均时间,这个平均值应该小于10ms(毫秒)
7. Avg. Disk Sec/Write:磁盘写入的平均时间,这个平均值也应该小于10ms(毫秒)
以上,请根据自己的磁盘系统判断,比如传统的机械臂磁盘和SSD有所不同。
一般磁盘的优化方向是:
1. 硬件优化:比如使用更合理的RAID阵列,使用更快的磁盘驱动器,添加更多的内存
2. 数据库设置优化:比如创建多个文件和文件组,表的INDEX和数据放到不同的DISK上,将数据库的日志放到单独的物理驱动器,使用分区表
3. 数据库应用优化:包括应用程序的设计,SQL语句的调整,表的设计的合理性,INDEX创建的合理性,涉及的范围很广
希望对您有所帮助,谢谢!(neitui.me)
SQL SERVER提供了很多关于I/O压力的性能计数器,请选择性能计算器PhysicalDisk(LogicalDisk),根据我们的经验,如下指标的阈值可以帮助你判断IO是否存在压力:
1. %Disk Time :这个是磁盘时间百分比,这个平均值应该在85%以下
2. Current Disk Queue Length:未完成磁盘请求数量,这个每个磁盘平均值应该小于2.
3. Avg. Disk Queue Length:磁盘请求队列的平均长度,这个每个磁盘平均值也应该小于2
4. Disk Transfers/sec:每次磁盘传输数量,这个每个磁盘的最大值应该小于100
5. Disk Bytes/sec:每次磁盘传入字节数,这个在普通的磁盘上应该在10M左右
6. Avg. Disk Sec/Read:从磁盘读取的平均时间,这个平均值应该小于10ms(毫秒)
7. Avg. Disk Sec/Write:磁盘写入的平均时间,这个平均值也应该小于10ms(毫秒)
以上,请根据自己的磁盘系统判断,比如传统的机械臂磁盘和SSD有所不同。
一般磁盘的优化方向是:
1. 硬件优化:比如使用更合理的RAID阵列,使用更快的磁盘驱动器,添加更多的内存
2. 数据库设置优化:比如创建多个文件和文件组,表的INDEX和数据放到不同的DISK上,将数据库的日志放到单独的物理驱动器,使用分区表
3. 数据库应用优化:包括应用程序的设计,SQL语句的调整,表的设计的合理性,INDEX创建的合理性,涉及的范围很广
希望对您有所帮助,谢谢!(neitui.me)
相关文章推荐
- mysql null 转0
- wamp设置mysql编码格式
- 【转】redis配置认证密码
- 下载数据库mysql压缩包地址
- mysql开启慢查询方法
- oracle高效分页存储过程(百万数据级)
- mongodb集群搭建
- SQLServer 获取某月天数
- 死锁查看处理(二)
- Sql Server 获取指定表、视图结构
- Sql Server 获取指定表、视图结构
- mysql存储过程
- oracle函数wmsys.wm_concat--有道笔记整理
- oracle_结果集的处理--有道笔记整理
- oracle查询,依据一个字段的值,去判断是否查另一个值--有道笔记整理
- ORACLE工作机制
- 点击按钮往word文件中固定地方添加数据库数据再下载
- ubuntu下安装postgresql 安装
- MySQL全文索引
- Oracle常见问题解决方法