如何判断MSSQL数据库磁盘出现了瓶颈

问大神石沫:如何判断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创建的合理性,涉及的范围很广  
希望对您有所帮助,谢谢!

时间: 2024-10-19 08:11:50

如何判断MSSQL数据库磁盘出现了瓶颈的相关文章

2014-07-24 MSSQL数据库分离及获取存放地址

我们的系统,是支持同一台机器上安装多套的. 安装方法就是鼠标右键“复制”.“粘贴”(启动时会自动附加目录下的.mdf). 有的人安装多套以后,想要删除某一套的时候,为了省事儿就自作聪明的鼠标右键“删除”. 这样一来,MSSQL里的数据库就乱了,客户就会打电话过来囧. 我们一没实施,二没客服,就老程序员和我两个程序员...... 所以我要做一个清理数据库的小工具,处理被客户搞乱的数据库: 首先,通过数据库名称找出所有我们系统的数据库. 然后,遍历每个数据库,分成可以连接的和不可以连接的两种. 最后

PHP连接MSSQL数据库的方法,PHPWAMP如何连接MSSQL数据库(极度详细)

最近有用户在使用PHPWAMP的时候,向我咨询一个问题,就是关于PHP如何连接MSSQL数据库. 平时我们搭建网站通常是PHP+Mysql数据库, 不过在项目中,我们有时候必须要用到PHP+MSSQL数据库,那应该怎么办呢? 其实你平时只要多逛逛微软的网站,多看看数据库相关的英文文档,该有的都有, 好了,我们下面演示几个案例吧,分别演示几个主流PHP版本连接MSSQL数据库的方法. 本文演示的是我自己制作的PHP纯绿色集成环境,要是你用的是其他集成环境,或者是自己独立安装的,其实道理是一样的,没

mssql数据库游标批量修改符合条件的记录

//需求:由于项目刚上传,没有票数,为了表现出一定的人气,需要在一开始把各项目的票数赋一个值 , 但每个项目不能一样,否则容易看出问题,呵呵 . DECLARE @Id varchar(50) DECLARE My_Cursor CURSOR --定义游标 FOR (SELECT Id FROM dbo.kinpanAwardProject where session=9) --查出需要的集合放到游标中 OPEN My_Cursor; --打开游标 FETCH NEXT FROM My_Curs

PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库

课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全称是Microsoft SQL Server,MSSQL是简写,有些人则喜欢直接叫SQL Server,我就比较喜欢这种叫法,有韵味... 最近有用户在使用PHPWAMP的时候,向我咨询一个问题,就是关于PHP如何连接MSSQL数据库. 平时我们搭建网站通常是PHP+Mysql数据库, 不过在项目中,我们有时候必须要用到PHP+MSSQL数据库,那应该怎么办呢? 本文案例采用的PHP集成环境是我最新发布的版本

mssql数据库备份恢复工具(SQLAutoRestore)下载 v1.2.8官方版

QLAutoRestore是一款全自动的mssql数据库备份和还原工具,软件操作简单,备份速度快以及自动智能恢复等特点,软件拥有直观的用户界面,支持实时感知磁盘数据库,拥有高效的磁盘监控功能,是您进行数据库备份和同步的完美解决方案,同时还拥有定时备份和定时同步的功能. 软件特色 1.高效磁盘监控 独有磁盘文件变化实时感知监控技术,动态追踪监控所在文件夹备份文件.可响应10毫秒内百余文件写入,极低系统资源占用率. 2.智能备份恢复 繁琐归至简,数据库恢复过程中内置多达30+项智能识别还原技术.帮您

Atitit.mssql 数据库表记录数and 表体积大小统计

Atitit.mssql 数据库表记录数and 表体积大小统计 1. EXEC   sp_MSforeachtable   "EXECUTE   sp_spaceused   '?'" 最后一种方法是利用隐藏未公开的系统存储过程sp_MSforeachtable CREATE TABLE  #temp  (TableName  VARCHAR  (255),  RowCnt  INT) EXEC  sp_MSforeachtable  'INSERT  INTO  #temp  SEL

如何下载MSSQL数据库备份到本地电脑?

在这里用了三篇图文教程来演示,MSSQL数据库的备份操作.还原恢复操作,以及下面的MSSQL数据库下载到本地电脑的操作,其目的是为了在一个 教程中,方便完整的为您展示这些特色功能,也方便您的阅读.下面是这个系统的最后一个演示教程,如何把备份好的mssql数据库下载到自己的电脑上.. 把备份的MSSQL数据库下载到自己的电脑上类?这个操作也非常简单,鼎峰虚拟主机管理系统,是通过ftp的方式向用户提供下载.其实现方式是,用户在操 作管理面板中,通过点击“建立备份用的ftp”获取到一组临时ftp地址,

MSSQL数据库修改端口如何使用客户端连接

今天遇到一个问题,安装在服务器上的MSSQL2005数据库修改了默认1433端口,服务器自己连接数据库没有任何问题(之前别人安装,配置好的),当我在其它电脑上安装MSSQL2008连接到服务器上的数据库时就遇到报错,根据报错的信息在网上找了各种资料,都没有解决,特别郁闷. 其实这个问题对于老鸟来说这是一个简单得不能再简单的问题,只需要将客户端连接的数据库的端口改成与服务器一样就可以了.但对于一个新手菜鸟来讲,却是一个难题,不懂得解决问题的思路,东摸西碰,无法解决. 下面是我今天遇到的报错信息:

mssql数据库分页查询效率的一次体会

这几天在一个项目,合同管理系统(是对老系统的升级和改造,老系统是VS2008做的),由于数据库的表是项目组根据老系统的数据库建的,所以在查询的适合我就需要自己创建视图来完成多表的查询,起初我是读取项目组成员建好的视图,里面有7张表,其中还包含视图,由于视图中join视图是不支持索引的,所以在查询第一页的时候(每一页20条数据,总共数据量是10W条左右),耗时800毫秒,但是 当row_number达到上千的时候,基本查询要6秒以上,每点击下一页,耗时会增加十几毫秒,到40000条也就是中间的时候