discuz6论坛版本,应该是比较稳定的版本了,但从phpwind6转过来以后,w3wp一直占用cpu居高不下,有时候百分之百,让人十分闹心;以下是一些在实际应用中,遇到的现象和相应的解决方法,更多的测试解决方案,可关注discuz论坛,另外,官方在这上面的努力,让人十分被动。
1:插件问题;把其中装的插件都去掉论坛好了,又正常了,经过对比,发现是一个首页四格出现的问题,建议大家选择插件安装的时候一定要先对插件进行评估
2:cc攻击问题;网站前一段时间老是IIS不够用,SERVEIS UNABLE,一打开站点就是这样,有时候还出现数据库错误原因,服务器CUP占用100%,头疼啊,经过分析,去掉一些插件后,数据库不在出现错误了但是提示连接不够,但是还是SERVIES UNABLE,这就奇怪了,我一个服务器只装了一个论坛,切数据库的连接数目我设置的是5000不可能不够的,经过分析,找人请教,原来是论坛被人CC了,这个时候DZ有个防止攻击的策略,在论坛的跟目录有个文件叫 CONFIG。INC。PHP,打开这个文件,把方式攻击的那一项设置成1|2|4。意思是防止速度刷新,限制2次访问的时间,记录COOKIES什么的,这个时候论坛又恢复的,服务器CUP降低下来了,安心了!
3:这次又是CUP占100% 服务器假死,论坛打不开,郁闷,卸载了所有插件,还是100%。设置成1|2|4,论坛正常,但是一去掉1|2|4,服务器CPU立即上升到100,还是W3WP这个进程占了100%,这绝对不可能是黑客攻击了,如果是的话,黑客也不可能坚持一个月攻击的,怎么办,怎么解决,到网络上搜索,基本上都是老套路,不管用
最后最后发现XIAOHUI的一片文章专门写的是服务器CUP100%的解决方法,这是针对数据比较多的论坛的,我论坛数据库大概100W条,是数据库数据量比较大,数据表没有索引导致的,在数据库里面执行下列语句添加上索引,问题解决了
ALTER TABLE `cdb_pms` ADD INDEX ( `folder` );
ALTER TABLE `cdb_threads` ADD INDEX ( `displayorder` );
ALTER TABLE `cdb_threads` ADD INDEX ( `dateline` );
ALTER TABLE `cdb_threads` ADD INDEX ( `closed` );
ALTER TABLE `cdb_threadsmod` ADD INDEX ( `dateline` );
ALTER TABLE `cdb_sessions` ADD INDEX ( `invisible` );
ALTER TABLE `cdb_forums` ADD INDEX ( `type` );
ALTER TABLE `cdb_forums` ADD INDEX ( `displayorder` );
XIAOHUI的文章地址是http://www.xiaohui.com/dev/server/20070701-discuz-mysql-cpu-100-optimize.htm
事实上,我应用了上述几种方案以后,cpu高居不下的现象是稍稍缓和,但还是占用cpu相当高,百分之三十多时而有之,内存也占用很不正常,非常郁闷。真是进退两难。








,Powered By Z-Blog 1.8 Spirit Build 80710