魔扣论坛

魔扣源码论坛业务
查看: 3177|回复: 11

[经验交流] 百万记录级MySQL数据库及Discuz!论坛优化

[复制链接]
  • TA的每日心情
    无聊
    21 小时前
  • 签到天数: 2956 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745735
    贡献
    157913
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2017-12-29 23:30:13 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
                                                                                                            
    ——最近,帮一个朋友优化一个拥有20万主题,100万帖子,3万多会员,平均在线人数2000人的Discuz!论坛,采用Linux2.6+Apache2+mod_php5+MySQL5,服务器配置为双至强+4G内存,优化前,系统平均负载(load average)基本维持在10以上,MySQL的CPU占用率基本在90%以上,优化后,系统平均负载降到0.5以下,MySQL的CPU占用率很少有超过10%的时候。优化前YSlow得分只有35分,优化后YSlow得分86分。
    ——现将优化的过程和经验做一个记录:
    ——首先,对Apache进行优化,编辑httpd.conf:
    ——设置HostnameLookups、KeepAlive、MaxKeepAliveRequests以及KeepAliveTimeout四个参数,调整MaxSpareServers、ServerLimit、MaxClients以及MaxRequestsPerChild参数,还可以考虑弃用prefork而采用worker MPM。设置mod_deflate及mod_expires模块,不过注意Discuz!不能对PHP文件开启Expires,否则会出现问题。另外还可以考虑开启mod_cache和mod_mem_cache模块。另外利用cronolog按天对日志进行轮循截断,如果日志特别大,也可以按小时截断。另外再加上Awstats对日志进行分析,并用gzip对日志进行压缩,自动删除1个月前的日志。
    ——其次,对PHP进行优化,编辑php.ini:
    ——调整output_buffering、zlib.output_compression及max_execution_time、max_input_time、memory_limit等参数,并安装Xcache和Zend Optimizer。
    ——然后对MySQL进行优化:
    ——首先重新静态编译MySQL,使其只支持MyISAM和Memory两种引擎,并按Discuz!编码选择只支持UTF-8或者GBK字符集。
    ——编辑my.cnf,设置skip-locking、skip-external-locking、skip-networking和skip-name-resolve,根据内存和数据库状态具体调整key_buffer_size、query_cache_size、query_cache_limit、max_allowed_packet、table_cache、thread_cache_size、sort_buffer_size、read_buffer_size、read_rnd_buffer_size、join_buffer_size、tmp_table_size、max_tmp_tables、back_log、max_connections、wait_timeout的参数。
    ——对数据库进行优化,将threads和posts表中部分未索引的字段增加索引,并将supersite数据库表从bbs数据库独立出去。修改discuz!配置文件,设置开启pconnect。
    ——对Discuz!设置进行优化。进入Discuz!系统设置,修改页面缓存设置中的缓存有效期和缓存系数,修改服务器优化中的禁止浏览器缓冲和页面Gzip压缩,修改防盗链设置中下载附件来路检查,用JSMin自动对js文件进行缩减(Discuz! 6.1的common.js原文件29.3k,经JSMin缩减后为24.1k,再经deflate后为7.3k),修改attachments.php文件,将:
    //dheader(‘Cache-control: max-age=31536000′);//dheader(‘Expires: ‘.gmdate(‘D, d M Y H:i:s’, $timestamp + 31536000).’ GMT’);
    ——前的注释去掉。
    ——修改模板目录下adv.htm,去掉与Insenz有关的代码。
    ——通过查看MySQL的status,可以看出优化后,长时间运行的Key_read_ratio基本保持在0.05%以下,Threads_cache_hitrate保持在99.9%以上。
    ——个人感觉,Discuz!将Session保存在数据库中,极大地降低了Query Cache的命中率,如果需要进一步优化,可以考虑修改Discuz!源码,将Session保存到Memcache中。
    ——优化之后用Siege做并发压力测试,在200并发下,基本没有任何错误。如果将来人数更多,可以考虑将平台迁移到Ngix+PHP FastCGI上。
    ——下面是用Siege在300并发下的测试结果:
      ——500并发下的测试结果:
    ——昨天,将服务器迁移到了Nginx+php-fpm,以下是迁移后测试,相差真的很明显,回头再写Nginx+php-fpm的经验:
                   
                        
    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    0

    主题

    255

    回帖

    510

    积分

    高级魔扣

    Rank: 4

    魔扣币
    255
    贡献
    255
    威望
    0
    发表于 2017-12-29 23:39:24 | 显示全部楼层
    生是魔扣的人,死是魔扣的鬼,我愿为魔扣源码论坛添砖加瓦~

    该用户从未签到

    3

    主题

    250

    回帖

    504

    积分

    高级魔扣

    Rank: 4

    魔扣币
    250
    贡献
    250
    威望
    1
    发表于 2018-1-23 20:29:26 | 显示全部楼层
    真诚的朋友虽然遥远还是心绪相牵!纯真的友谊即是难聚仍然温馨美甜!魔扣源码论坛祝福好朋友事事顺心如意快乐天天!远方的我时时为您衷心的祈祷祝愿!

    该用户从未签到

    1

    主题

    281

    回帖

    563

    积分

    高级魔扣

    Rank: 4

    魔扣币
    281
    贡献
    281
    威望
    0
    发表于 2018-4-14 09:17:08 | 显示全部楼层
    思念是一种感觉。是那种:静静地、悄悄地、默默地、苦苦地、痴痴地去想一个人的感觉!思念也是一种美丽的孤独。只有在你一个人思念他的时候,那种孤独才显得特别美丽!一旦这种孤独到了极至,魔扣源码论坛的思念也就扩展成了一种幸福的忧伤,成了一种甜蜜的惆怅,成了一种温馨的痛苦!  思念是对昨日悠长的缅怀。思念无处不在,无处没有。当你们手牵手的散步,他随手采摘一朵路边菊,为你插在头上的那种浪漫——思念就在朗月下;当你们肩并肩观日出日落,对光阴似箭,岁月如歌大发感慨——思念就在黄昏里;当你们轻拥着过走艰难的人生,那些酸甜苦辣,还记忆犹新——思念就在秋雨中。

    该用户从未签到

    1

    主题

    260

    回帖

    521

    积分

    高级魔扣

    Rank: 4

    魔扣币
    260
    贡献
    260
    威望
    0
    发表于 2018-9-28 11:20:16 | 显示全部楼层
    用最美好的心情想念你,魔扣源码论坛用最温暖的笑脸惦挂你,用最宽容的心胸热爱你,用最专注的眼神凝望你,用最忠诚的心灵祝福你。

    该用户从未签到

    2

    主题

    277

    回帖

    556

    积分

    高级魔扣

    Rank: 4

    魔扣币
    277
    贡献
    277
    威望
    0
    发表于 2019-3-31 19:43:03 来自手机 | 显示全部楼层
    看起来好像不错的样子

    该用户从未签到

    1

    主题

    260

    回帖

    521

    积分

    高级魔扣

    Rank: 4

    魔扣币
    260
    贡献
    260
    威望
    0
    发表于 2019-5-21 12:43:38 | 显示全部楼层
    深的话要浅浅地说,长长的路要挥霍地走。大大的世界要率真地感受,会痛的伤口要轻轻地揉。',

    该用户从未签到

    0

    主题

    230

    回帖

    461

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    231
    贡献
    231
    威望
    0
    发表于 2019-7-21 19:27:19 | 显示全部楼层
    时间冲不淡真情的酒,距离拉不开祝福的手,无论季节怎样改变,魔扣源码论坛祝福的心依旧;让阳光普照你所有的日子,让鲜花开满人生的旅程。祝好朋友:一生幸福,快乐无限!

    该用户从未签到

    0

    主题

    254

    回帖

    508

    积分

    高级魔扣

    Rank: 4

    魔扣币
    254
    贡献
    254
    威望
    0
    发表于 2019-11-21 12:28:47 | 显示全部楼层
    花的清香溢满季节的转换,云的多姿展示夏天的走远,月的明朗邀来金秋的缠绵,心的问候播撒友情的思念,心愿的美好祈祷快乐永远,亲爱的朋友,魔扣源码论坛祝你天天快乐!

    该用户从未签到

    0

    主题

    247

    回帖

    496

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    249
    贡献
    249
    威望
    0
    发表于 2019-12-16 19:03:09 | 显示全部楼层
    鄙视楼下的顶帖没我快,哈哈
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表