MySQL优化 之 Discuz论坛优化 -- 续
很早以前写过一个文章,是关于discuz论坛的优化:MySQL优化 之 Discuz论坛优化。写的时候是2006年,没想到过了这么久,discuz论坛的问题还是困扰着很多网友,其实从各论坛里看到的问题总结出来,很关键的一点都是因为没有将数据表引擎转成InnoDB导致的,discuz在并发稍微高一点的环境下就表现的非常糟糕,产生大量的锁等待,这时候如果把数据表引擎改成InnoDB的话,我相信会好很多。这次就写个扫盲贴吧。
1. 启用innodb引擎,并配置相关参数
#skip-innodb innodb_additional_mem_pool_size = 16M #一般16M也够了,可以适当调整下 innodb_buffer_pool_size = 6G #如果是专用db的话,一般是内存总量的80% innodb_data_file_path = ibdata1:1024M:autoextend innodb_file_io_threads = 4 innodb_thread_concurrency = 20 innodb_flush_log_at_trx_commit = 1 innodb_log_buffer_size = 16M innodb_log_file_size = 256M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 50 innodb_lock_wait_timeout = 120 innodb_file_per_table
2. 修改表引擎为innodb
mysql> alter table cdb_access engine = innodb;
其他表类似上面,把表名换一下即可...
将表存储引擎改成innodb后,不仅可以避免大量的锁等待,还可以提升查询的效率,因为innodb会把data和index都放在buffer pool中,效率更高。
更新(2013-02-25):discuz x2.5版本中,抢楼功能集成到post表中,因此无法将该表转换成InnoDB引擎。当然了,非要转换也可以,不过需要使用触发器来解决,具体方案等测试通过后发布。
评论
ramboo (未验证)
周二, 2009/07/07 - 10:47
Permalink
不敢苟同你的观点,
不敢苟同你的观点,按照我自己的实践,修改为innodb以后,数据库的整体查询速度慢了很多,虽然不锁表了。用myisam格式的,只要优化好就不会出现大量锁表的现象。
游客 (未验证)
周三, 2009/07/15 - 12:54
Permalink
LS没有认真了解innodb特
LS没有认真了解innodb特性,myisam仅适用于轻量级快速查询,在大并发下是力不从心的,你的实践是什么?难道仅仅是顺序select、insert若干数据得来的?
游客 (未验证)
周日, 2009/08/23 - 01:40
Permalink
我碰到一个朋友的论
我碰到一个朋友的论坛,日pv应该有200w左右。
目前采用myIsam,性能尚且不错。前几日遇到表太大造成的性能问题也由分区功能优化了。
Myisam存储引擎对论坛这种主要以读为主的应用来说已经绰绰有余,别忘记了dicuz在设计之初也是推荐采用MyISAM的。
yejr
周日, 2009/08/23 - 12:46
Permalink
这么nb的论坛,肯定
这么nb的论坛,肯定很有名了,不妨说下名字?
MySQL方案、培训、支持
游客 (未验证)
周日, 2009/08/30 - 01:41
Permalink
apache 200w条日志?
apache 200w条日志?
玲玲
周三, 2009/10/21 - 11:27
Permalink
mysql数据库都这样修改
mysql数据库都这样修改吗?我都没有优化过,想向您请教!谢谢!
Drupal博客联盟
kang.Dev (未验证)
周一, 2009/11/23 - 01:21
Permalink
恩。学习了!谢谢分
恩。学习了!谢谢分享!
游客 (未验证)
周日, 2010/04/04 - 12:14
Permalink
速度方面来说感觉还
速度方面来说感觉还是mysiadm的快些的吧,innobd主要的一个功能好像是用来处理事务类型的,至于速度方面。。。
游客の (未验证)
周五, 2010/04/30 - 08:27
Permalink
可以采纳部分,部分
可以采纳部分,部分表采用innodb可以的。
gary (未验证)
周五, 2010/12/03 - 18:20
Permalink
同意部分表,采用innodb
同意部分表,采用innodb .
但一个库全部是innodb,或者全部是myisam,我认为是更好看更好维护的.
所以还是不转了.调优吧.
游客 (未验证)
周五, 2010/07/02 - 07:32
Permalink
能否写下phpwind.
能否写下phpwind.
我计划有空研究下Phpwind.
yejr
周五, 2010/07/02 - 09:20
Permalink
phpwind我不是太了解,
phpwind我不是太了解,希望你研究完后能分享给大家,谢谢