如何判断MSSQL数据库磁盘出现了瓶颈
2016-06-14 12:25
330 查看
问大神石沫:如何判断MSSQL数据库磁盘出现了瓶颈?
石沫(A1):您好,您的问题非常好,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创建的合理性,涉及的范围很广
希望对您有所帮助,谢谢!
石沫(A1):您好,您的问题非常好,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创建的合理性,涉及的范围很广
希望对您有所帮助,谢谢!
相关文章推荐
- cubes mysql 中文乱码
- XX图文扩容配置说明
- 【解决】Mysql关于Host \'XXX\' is not allowed to connect to this MySQL server 的问题
- 常用必备SQL
- SQL Server中如何获取当前年,月,日,时,分,秒
- Oracle decode的用法
- 【转载】MSSQL中返回刚插入记录的ID
- oracle表数据用java导出为SQL文件的方法
- 完全卸载oracle11g步骤
- 安装oracle 11g 遇到的问题ORA-01078 ORA-01034
- 解决mysql安装是出现Error Nr2003、Error Nr1045错误
- sql查询重复记录、删除重复记录方法大全
- MYSQL表分区操作错误1503解决与证明
- oracle、sqlserver、mysql常用函数对比[to_char、to_number、to_date]
- 【转载】iBatis动态SQL标签用法
- PL-SQL Win7 x64位连接数据库
- SQL使用场景和记录
- SQL索引优化
- 安装MySQL在最后的start service停住了处理方法
- 完整java开发中JDBC连接数据库代码和步骤