技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL --> MySQL优化 之 Discuz论坛优化

MySQL优化 之 Discuz论坛优化

浏览:2810次  出处信息

    很早以前写过一个文章,是关于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中,效率更高。

建议继续学习:

  1. 30分钟3300%性能提升――python+memcached网页优化小记    (阅读:11864)
  2. WEB系统需要关注的一些点    (阅读:10161)
  3. 基于SSD的数据库性能优化    (阅读:7184)
  4. jQuery性能优化指南    (阅读:7163)
  5. MySQL优化 之 Discuz论坛MySQL通用优化    (阅读:6609)
  6. 一次简单C程序的性能优化    (阅读:5455)
  7. Discuz!7.0横版及子版块图标显示方法    (阅读:4970)
  8. mysql sql 百万级数据库优化方案    (阅读:4851)
  9. 一次神奇的MySQL优化    (阅读:4697)
  10. PHP最佳实践    (阅读:4656)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1