sql2005突然明显变慢了。。。。。。。
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的态度和技术,不提也罢,何况这个还需要人工判断是不是口水贴。