专栏首页ytkahdiscuz优化10个小技巧

discuz优化10个小技巧

  Discuz论坛是国内使用最多的论坛系统,现在最新版为X 3.4,X3.4 从 2018 年 1 月 1 日起只在官方 Git 发布,地址:https://gitee.com/ComsenzDiscuz/DiscuzX,说明已经开源了。discuz有那么多的粉丝,跟它完善的功能有很大关系,开箱即用,很多优化可以直接在后台设置,应对高并发/大数据量,那么discuz怎么优化呢?可以从以下几点来进行,跟ytkah一起来看看吧。

1、性能优化

  首先想到的是内置的性能优化,在后台的 全局 - 性能优化

  discuz服务器优化:

  是否优化更新主题浏览量:是

  查看数开启防刷新:是。如果选择“否”,主题、空间、日志每访问一次,浏览量增1,会增大服务器压力,建议选择“是”

  附件下载量延迟更新:是。延迟更新附件的浏览量,可明显降低访问量很大的站点的服务器负担,建议开启本功能

  最大在线人数:范围 10~65535,建议设置为平均在线人数的 10 倍左右

  在线保持时间(分钟):根据访问情况设置合理的数值,访问量大的站点应当调小该数值,设置范围 5 - 60,过大或者过小的设置都有可能会增大服务器资源开销

  开启图片延时加载:是。当开启后,页面中的图片在浏览器的当前窗口时再加载,可明显降低访问量很大的站点的服务器负担,建议开启本功能

参与模块聚合数据条数:此值影响模块聚合时MYSQL检索数据的条数,设置太大将严重影响MYSQL的性能,设置太小将会影响模块聚合结果数据的理想程度。0为关闭此功能

  是否关闭session机制:关闭session机制以后,可明显降低站点的服务器负担,建议在线用户数超过2万时开启本功能(注意:游客数和用户的在线时长将不再进行统计,论坛首页和版块列表页面的在线用户列表功能将不可用)

  discuz内存优化

  启用内存优化功能将会大幅度提升程序性能和服务器的负载能力,内存优化功能需要服务器系统以及PHP扩展模块支持

  目前支持的内存优化接口有 Memcache、eAccelerator、Alternative PHP Cache(APC)、Xcache、Redis、YAC、APCu,优化系统将会依据当前服务器环境依次选用接口

  内存接口的主要设置位于/config/config_global.php 当中,您可以通过编辑 config_global.php 进行高级设置,详细参考 discuz config_global.php文件设置说明

  discuz论坛页面缓存设置优化

  缓存论坛首页有效期:设置论坛首页缓存更新的时间,单位为秒,0 为关闭(此处关闭以后,缓存系数将不再起作用),建议设置为 900。此功能只针对游客

  缓存帖子有效期:设置帖子页面缓存更新的时间,单位为秒,0 为关闭。请根据实际情况进行调整,建议设置为 900。另外,请通过编辑论坛来指定帖子页面缓存系数

  缓存系数:页面缓存功能可以将会员经常访问的主题临时缓存起来,缓解大型论坛服务器压力。缓存阀值范围 0 - 100,建议设置为 40 ,0 为关闭。在磁盘空间允许的情况下,适当调高缓存系数,可以提高缓存效果

2、discuz防灌水设置

  discuz有一套完善的防灌水设置,我们可以设置邀请注册、邮箱验证、只能QQ/微信登陆、发帖时间间隔、词语过滤等

  词语过滤是非常关键的,一不小心论坛就会被关闭,甚至更严重,已经有很多先例了,所以设置一套完整的敏感词过滤机制非常重要

3、dicuz手机端优化设置

  现在互联网的流量都集中在移动端了,一个好的手机模板非常重要!discuz手机模板可以采用移动网页加速器(MIP)。①MIP 提供与 MIP Runtime 兼容封装好的组件来实现,不允许自定义 JavaScript 。②使用inline的css,CSS 内联可以减少客户端的开销。③MIP缓存能够帮站长加速网页,MIP-Cache 将会把 MIP 网页缓存到百度 CDN 中。更多MIP详情请参考https://www.mipengine.org/doc/03-principle-of-mip.html

4、https设置

  HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。

  HTTPS和HTTP的区别主要为以下四点:

  ①、https协议需要到ca申请证书,一般免费证书很少,需要交费。

  ②、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

  ③、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

  ④、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

5、discuz SEO优化

  伪静态设置:URL 静态化可以提高搜索引擎抓取,开启本功能需要对 Web 服务器增加相应的 Rewrite 支持

设置完以后要在.htaccess文件写入伪静态代码

6.discuz CDN优化

  CDN的全称是Content Delivery Network,即内容分发网络。依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。特别是js、css、图片,放在cdn上加载速度更快。

7、discuz开启Gzip

  假设我们访问的一个页面有100kb,如果已经开启Gzip了,服务器会把这个页面压缩成zip文件,可能只有10kb或更小,就会节省带宽和下载时间。当浏览器可以下载zip文件,解压,并且渲染给用户。下载很快,页面加载也很快。

8、discuz数据库优化。

数据表优化可以去除数据文件中的碎片,使记录排列紧密,提高读写速度。

后台 - 站长 - 数据库 - 优化

后台 - 站长 - 帖子分表/用户表优化/主题分表。分表功能可以将帖子分在不同的数据表中,适合帖子数很多并且运行效率受到影响的站点使用

9、discuz插件筛选

  在没有必要的情况尽量少装插件,有些插件调用很多sql反而降低效率

10、discuz模板优化

  精简压缩css/js文件,尽量减少js的使用,或者使用封装好的js

  以上是discuz优化常见的一些方法,最核心的是要减少sql数,所以在开发的过程中硬磕sql语句,不管是模板、插件、功能实现,开启debug模式,想方设法去降低。相信你会把discuz优化得很好。如果您有更多优化的方法欢迎留言探讨!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • marquee一行代码实现滚动跑马灯效果无需js

      最近ytkah决定拓展一下业务,贴补一些家用,~(@^_^@)~,将以前做的网站建设案例展现出来,有这方面需求的朋友可以扫一下二维码加我哈,或者推荐朋友给我...

    ytkah
  • 小程序与小游戏使用wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持

    各位小程序开发者注意了:从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。...

    ytkah
  • wordpress调用文章摘要,若无摘要则自动截取文章内容字数做为摘要

    以下是调用指定分类文章列表的一个方法,作者如果有填写文章摘要则直接调用摘要;如果文章摘要忘记写了则自动截取文章内容字数做为摘要。这个方法也适用于调用descri...

    ytkah
  • 剑指Offer的学习笔记(C#篇)-- 数组中重复的数字

    给数组搞内外两个循环,第一个循环是把数组的每一个数都遍历出来,而第二个循环是,除了第一个数组正在遍历的那个数以外的数进行查找,找到和他一样的,就...

    WeiMLing
  • 00.数据结构关于浮点数运算的越界问题1.数据结构2.Pandas的两种常用数据结构3.Series系列4.DataFrame数据框

    类似一维数组(ndarray)的对象,由一组数据(各种NumPy数据类型)以及与之相关的数据标签(索引)组成,用于存储一行或一列数据。

    用户1250179
  • 移动设备管理控制工具(STF)平台的正确搭建方式

    STF(or Smartphone Test Farm) is a web application for debugging smartphones,smar...

    腾讯移动品质中心TMQ
  • 微信认证开发教程

    首先我们需要保证我们本地的服务可以被外网访问到 我们借助的工具是Ngrok,下载地址有很多,大家可以网上搜索,下载不到的朋友,私信我。 下载后,解压 ? 解压目...

    企鹅号小编
  • 丢丢:腾讯云上实践 SNG MINI 项目

    作为 SNG 应届生入职的传统,都会参加 SNG 的 mini 项目,每组大概10人,在短短10天的时间里开发一个相对完善的 APP。这对整个团队来说是一件十分...

    宋翔
  • 深度学习训练过程可视化(附github源码)

    地址:http://ethereon.github.io/netscope/#/editor

    计算机视觉研究院
  • Enterprise Library 4 缓存快速入门

    快速入门使用了一个顶层的处理程序来捕获任何场景中的任何异常。处理程序显示了一个带有异常信息的对话框。 快速入门在构建和运行应用程序之前不需要执行任何安装步骤。...

    张善友

扫码关注云+社区

领取腾讯云代金券