sql2005突然明显变慢了。。。。。。。

haitao 2011-09-08 04:14:30
加精
sql2005突然明显变慢了。。。。。。。
原来不用1秒的查询、插入,现在要2-4秒了。。。。。

硬件及数据环境:
2个主要的数据库,数据文件分别是3.4G和18G(备份文件的大小)
内存是16G(32位win2003r2+sql2005),这2个个库分别占了1.8G和9G
3个300G的硬盘做成600G的逻辑盘,2个4核的cpu
一年多来,一直性能比较稳定,cpu、磁盘一直比较空闲的。

几天检查下来,昨天发现大库的数据库文件竟然有7000个碎片!
于是运行了一个自动整理水平的工具,半夜空闲时整理了一次,它的碎片降到4000个了
再在一个比较空闲的时间再立即整理了1个多小时,它的碎片降到2个了!

但是速度还是慢:略有查询就cpu还是很高,其中内核使用量(红色部分)也高,磁盘的状况还是动辄达到100%!
profiler(按超过2秒)抓到的有些查询和更新sql,其where的字段都是有索引,以前还都很正常(符合预期)的

今天打算增加数据库的文件来提高IO性能,虽然还是只有一个逻辑盘。

不料在大库的文件选项里发现:数据文件居然是每次增长1M的!怪不得碎片这么多。。。。。
(日志和另一个库的数据和日志都还是每次增长10%)
上午赶紧把它改为每次增长20%,没提示说重启服务才生效,但是文件的增长好像还是不明显的
中午重启了数据库服务,慢和磁盘忙,仍然依旧。。。。。。。。

是阵列的使用或本身的问题?阵列系统软件对于这种使用时间不适应了??
还是磁盘寿命的问题?出现少数质量存疑的扇区,导致存储时不顺?
还是sqlserver真的是不如oracle/db2的数据库,到这个数据规模时就开始性能剧降?

巧合的是,前几天正好打报告申请增加内存(从16G达到32G或更多)
不过现在的瓶颈看起来好像是在硬盘。。。。。。。。。


题外:
不欢迎口水跟帖
这种口水跟帖虽然拉了主题、增加人气。
但是对于真正讨论的人,是一种误导甚至是欺骗:
每次以为有新的讨论内容,结果95%是落空了!浪费时间和流量。

都想让csdn增加一个功能:如果增加的仅仅是口水贴,不要告诉我它有了新回复。
不过以csdn的态度和技术,不提也罢,何况这个还需要人工判断是不是口水贴。
...全文
9906 217 打赏 收藏 转发到动态 举报
写回复
用AI写文章
217 条回复
切换为时间正序
请发表友善的回复…
发表回复
蝈蝈(GuoGuo) 2013-07-17
  • 打赏
  • 举报
回复
这个小的数据库,应该检查性能差在哪?我个人感觉是Io的原因造成的。需要优化表结构(建立合适的索引)
chen_jun_66 2013-07-17
  • 打赏
  • 举报
回复
用的是同型號硬盤,同樣的參數,跟轉速應該沒有關系! 同樣一條語句,有時查起來快,有時查起來就特別的慢,CUP占用會達到100%,而且居高不下,要等查完後才會退下來!
再来壹串 2013-07-17
  • 打赏
  • 举报
回复
不知道是不是硬盘混用的问题哦?不同转速的硬盘混用。
chen_jun_66 2013-07-17
  • 打赏
  • 举报
回复
我這里也有一臺資料庫服務器出現了類似的問題,有時CPU使用率會達到100%(以前從未有過的事),資料操作均比以前都慢好多倍。 那你這個問題確認是因為BOIS問題引起的麼??是否硬盤也有問題?
menggang9801 2013-07-16
  • 打赏
  • 举报
回复
微软开case 吧
haitao 2013-07-16
  • 打赏
  • 举报
回复
引用 211 楼 chen_jun_66 的回复:
那請問IBM過來升級了BIOS後,這個問題解決了麼????
硬盘的异常基本消失了 但是感觉某个位置还是有点问题,备份压缩失败的概率只是低很多,而不是完全消失 不久把内存加到64G,到目前,使用基本正常 年初打算搬移到一台PCI-E固态硬盘阵列的机器,但是煲机时它崩溃过几次(前3周每周一次),现在虽然不再崩溃,但是也不敢移了
chen_jun_66 2013-07-16
  • 打赏
  • 举报
回复
那請問IBM過來升級了BIOS後,這個問題解決了麼????
paopao_ouin 2011-12-09
  • 打赏
  • 举报
回复
分区处理,索引隔段时间最好梳理一下,能改善点效率问题
duchong417 2011-12-08
  • 打赏
  • 举报
回复
碰到和楼主一样的问题,最后发现是内存没有使用起来,开启SQL支持4G+内存后速度立刻就快起来了,但是楼主的好像不一样,因为看了图内存已经15G+了.
haitao 2011-10-18
  • 打赏
  • 举报
回复
试过重建索引的了,而且也设为每周末自动重建。。。。。。
但是好像没什么效果

中午ibm的人来升级了固件,再观察一段时间。。。。。。。。。
haitao 2011-10-17
  • 打赏
  • 举报
回复
另外,在升级前的重启机器时,发现:
第二个硬盘的黄灯单独长亮了10多秒,此前此后其它硬盘都没亮过黄灯
而此后,都是3个硬盘的绿灯一起闪的
不过,机器也没报任何错


今天(周一)上午直接email上述信息给ibm的技术支持,几个小时了还未得到任何答复
allanli 2011-10-17
  • 打赏
  • 举报
回复
我们系统也试过这样,重建索引后就解决了,索引碎片突然变成很大了
SQL server 对大表以及索引比较多的表管理起来不是很好
allanli 2011-10-17
  • 打赏
  • 举报
回复
收缩一下TempDB吧,设小一点,然后把它移到RamDisk上,建议RamDisk要4G以上
修改TempDB大小语句

use tempdb

dbcc shrinkfile (tempdev, 300)

dbcc shrinkfile (templog, 300)

然后重建一下主要表的索引,代码

declare @table_id int

set @table_id=object_id('表名')

dbcc showcontig(@table_id)

dbcc dbreindex('表名','',0)

EXEC ('DBCC SHOWCONTIG (''表名'') WITH FAST, TABLERESULTS, ALL_INDEXES, NO_INFOMSGS')



观察一下前后索引碎片是否改善
haitao 2011-10-17
  • 打赏
  • 举报
回复
重建索引已经进行过的了。。。。。

现在靠大内存把数据全部加载,暂时没这么频繁的迟滞了


刚才ibm的技术人员(另外一个人了)要求我们截屏发给他看
于是到机房重试,居然能进去了!出现welcome USERID了!!
晕。。。。。。。什么系统啊。。。。。。。。。
不管了,还是等明天他过来进行操作了,
否则,谁知道下一步会不会又出现一个意想不到的环节。。。。。
蝈蝈(GuoGuo) 2011-10-17
  • 打赏
  • 举报
回复
重建索引。
haitao 2011-10-16
  • 打赏
  • 举报
回复
检测硬盘(3个300G按raid5组成的600G)也没有发现问题,
平时3个硬盘也是一起频繁闪着绿灯。
而同样的数据库还原到另一台x3650 m3(晚买几个月,软硬件配置基本一致)就没有这种迟滞现象

所以请求ibm的技术支持(以下简称z)予以分析,她在我们运行ibm的检测程序,得到服务器的信息后给的结论是:
固件的版本太低,把它们升级后才能进一步定位问题。

但是,升级固件(uefi/imm/阵列)需要关机,而我们目前是工作时间会频繁使用这台服务器上的应用。
而我们买的是工作时间的支持(5x9),如果想请ibm在非工作时间上门服务,需要按每小时2000元(还是美元?)付费的,
请ibm在工作时间上门服务,倒是免费的,但是z说升级固件是很简单的,客户一般都自己进行的。
我们虽然没做过这样的工作,但是z发给的操作步骤的确很简单明确,而且我们只能在非工作时间进行,
所以,我们就决定按z发给的操作步骤在周末自己进行。

由于周六上午还有业务数据产生,所以,我们定在下午进行数据备份,再升级。
等到备份数据、负责数据后,按z发给的操作步骤进行操作时,遇到一个低级问题:
操作步骤写明:【在User Name处输入帐号: USERID,Password处输入密码: PASSW0RD.完成后会出现欢迎界面.
(请注意“USERID”和“PASSW0RD”照搬就可以了,这个和系统用户名密码不一样,
是所有同型号机器的默认设置,并且“PASSW0RD”里面的“0”不是英文的“O”,而是数字的“0”)】
但是,我们一字不差地输入了“USERID”和“PASSW0RD”,没出现欢迎界面,而是一个报错:
Left Reference Not Found
晕了!看操作步骤里的截屏,输入的的确是“USERID”,欢迎界面也是“Welcome USERID”
故意输个错的username(如“userid”或“USERID1”),它都会说用户名不正确!
那么,这种Left Reference Not Found算什么情况呢?
(搜索了一下“Left Reference Not Found”,只有ibm的一段什么代码:
if( rc->rc == CMPI_RC_ERR_NOT_FOUND ) {
CMSetStatusWithChars( _broker, rc,
CMPI_RC_ERR_NOT_FOUND, "Left reference not found.");
}
_OSBASE_TRACE(2,("--- _assoc_get_inst() failed : %s",CMGetCharPtr(rc->msg)));
goto exit;
其它就再也没有此完整4个单词的网页)
只要ibm的人(哪怕只是一个初中生)真的对这个操作步骤实际操作过,应该立即就会发现这个异常了,
怎么不在操作步骤里说清楚怎么避免这种异常?

没办法,我们只好马上致电ibm的技术支持,但是z已经找不到,另外一个人(以下简称x)接的电话,
她自称不是工程师、技术人员,坚持:买了5x9服务的客户,只能在工作时间咨询。

我指出:我们是在工作时间得到的咨询结果,但是这个结果出现一个低级错误,初中生也能发现的错误,
而咨询结果里只字未提,导致我们专门为此花费的加班成为徒劳。
这种初中生也能发现的错误,ibm技术人员如果知道,应该随时都能帮助的(比如:操作步骤没写完整:
密码除了O要改为0,P也要改为9。才不会导致Left Reference Not Found。
这种情况,知道的是一句话,不知道的怎么猜也猜不到)
如果我们在非工作时间咨询操作步骤,是不应该;
但是得到的操作步骤明显有低级错误(未按预期出现欢迎界面而是出现了Left Reference Not Found)
ibm应该有义务在任何时间纠正自己的错误。以免客户为ibm的低级错误买单。
ibm能对我们收每小时2000元,我们因为ibm的低级错误而浪费的时间,ibm也会赔吗?
由于z坚持非工作时间不答复任何技术问题,除非我们改买7x24的服务。
让她给出她的有斟酌权的上级的联系方式,她也坚持只能通过ibm网页找投诉网页,当天是无法解决的。

只好彻底放弃了。白白浪费了2人各4个小时的时间和工作。
haitao 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 198 楼 yyhust2 的回复:]
引用 6 楼 perfectaction 的回复:

另外,每次增长20% 改成100M.

有道理,按增长率来的话大文件每次增长20%,可不磁盘忙嘛.
[/Quote]

但是大文件了,增长的机会也就极少啊。
因为20%的余量已经很大,足够用一阵子的了
yyhust2 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 perfectaction 的回复:]

另外,每次增长20% 改成100M.
[/Quote]
有道理,按增长率来的话大文件每次增长20%,可不磁盘忙嘛.
tigertang123 2011-10-10
  • 打赏
  • 举报
回复
肯定是有硬盘有坏道
尽快备份数据库,换一台机器,然后扫描硬盘坏道,更换硬盘,如果硬盘坏道继续扩大影响到数据库关键文件,你就哭吧~~
nzperfect 2011-09-29
  • 打赏
  • 举报
回复
从你的log上看,的确存在硬件问题的可能。
加载更多回复(192)
通过慢sql分析的学习,了解什么是慢sql,以及慢SQL会引起那些性能问题。清楚慢sql日志的设置,然后再通过慢sql分析工具的学习,清楚慢sql分析的步骤和流程。慢sql分析工具:mysqldumpslow工具、explain工具、profile工具、Optimizer Trace工具。 提供课程中所使用的sql语句。 课程内容:第一章:课程简介1、课程介绍2、课程大纲 第二章:慢sql简介1、慢sql简介2、慢sql会引起的问题 第三章:慢日志的设置1、慢sql的分析流程2、慢日志参数理解3、慢日志参数设置:第1种方式:my.ini文件设置4、慢日志参数设置:第2种方式:sql脚本设置5、慢日志参数设置-效果验证 第四章:如何发现慢sql1、如何发现慢sql:第1种方式:慢日志文件2、如何发现慢sql:第2种方式:mysql库的slow_log表 第五章:慢sql分析工具1、慢sql提取-mysqldumpslow工具-使用方法2、慢sql提取-mysqldumpslow工具-操作实战3、慢sql的执行计划分析-explain分析-执行计划结果说明4、慢sql的执行计划分析-explain分析-索引介绍+type类型举例5、慢sql的资源开销分析-profile分析-分析步骤6、慢sql的资源开销分析-profile分析-show profile执行阶段说明7、慢sql的资源开销分析-profile分析-完整列表说明+操作实战8、慢sql的跟踪分析-Optimizer Trace分析-分析步骤9、慢sql的跟踪分析-Optimizer Trace表的介绍10、索引失效场景举例 第六章:慢日志清理1、慢日志清理

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧