帮朋友搭建的资讯网站突然反应巨慢后台,独立服务器,挂有四五个站。问题网站已经有两三年了,没出过大毛病,采用动易siteweaver+mssql构建,在sql server 2005里查询文章数已经达到了20W多。
症状:
后台操作反应巨慢,包括管理首页都要30秒左右才能显示,发表生成文章更慢;
可能的原因:
一、访问量过大,数据库和程序负载过重?
但是查看CPU和内存占用都非常之低,统计数据显示也没有过大的访问量;
二、程序文件被黑客篡改,加入了恶意代码?
前段时间在服务器发现了带$的影子帐号,但已经及时清理。用Httpwatch工具查看后台页面访问纪录,没有异常访问。检查了程序文件也没有篡改的痕迹;
下载全新的完整siteweaver程序,开个测试站点连接这个mssql库测试,症状依旧,看来跟程序是完全没关系了。
三、数据库数据量太大,查询耗时?
这个可能性非常大,但20W条纪录对于mssql应该不算太多;而且是突然变慢,如果是数据量的原因应该在之前就有症状了;
测试一下吧:
1、备份mssql库;
2、在sql server里删除掉20W数据,只留下1W多条;
delete from PE_Article where Articleid<200000
问题依旧;
四、其它关联表和后台日志纪录的问题?
发现前台的全文搜索速度完全不受影响,仅仅是后台操作慢。难道是后台操作时每个动作都纪录log的问题?
查看网站操作日志,只有不到1000条纪录,清理再测试,依旧无效!!
是否其它相关表有影响?
SQL导出所有表的大小,进行排序对比,发现除了PE_article外,还有PE_Historynews和PE_infos表也巨大。
但查看这两个表,发现跟后台操作也基本毫无关联。
最终解决方案:
百度了两天都没找到好的方案!
谷歌吧,总能给我惊喜的搜索。看了四五个结果后,有个兄弟不经意的说到,把数据库服务器的(local)改为127.0.0.1试试。这个貌似不太靠谱,可是也没别的方法了。
然后,在最绝望想到重装sql server ,重装系统,恢复到1年前的数据库时,这个方法居然就奏效了,居然!!!!
*******************
最后不得不再感叹一声:Google果然更懂俺!好几次都在绝望的时候给我惊喜!叹服!
******************
为了回报网络上无数热心兄弟的解答,我也贡献几段动易mssql可能会遇到的问题解决方案sql查询语句,与大家共享,有问题可以邮件我uu#uu8f.com:
+++++++++MSSQL数据库日志清理++++++++++
日志文件满而造成SQL数据库无法写入文件时,可用两种方法:
打开SQL查询分析器 => 连接数据库所在服务器
可以使用以下语句清理数据库日志: