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优化得很好。如果您有更多优化的方法欢迎留言探讨!

discuz优化10个小技巧的更多相关文章

  1. UITableView的性能优化10个小技巧

    通常你会发现一个图片类的app会在一个imageView上做下面这些事情: 1  下载图片(主要的内容图片+用户头像图片)2  更新时间戳3  展示评论4  计算动态的cell的高度 Tip#1 学习 ...

  2. iOS-UITableView的性能优化10个小技巧

    通常你会发现一个图片类的app会在一个imageView上做下面这些事情: 1  下载图片(主要的内容图片+用户头像图片)2  更新时间戳3  展示评论4  计算动态的cell的高度 Tip#1 学习 ...

  3. (译)关于使用Eclipse Memory Analyzer的10点小技巧

    作者 Rave_Tian 2016.02.01 17:56* 字数 2988 阅读 520评论 0喜欢 0 分析和理解应用的内存使用情况是开发过程中一项不小的挑战.一个微小的逻辑错误可能会导致监听器没 ...

  4. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  5. 10个小技巧助您写出高性能的ASP.NET Core代码

    今天这篇文章我们来聊一聊如何提升并优化ASP.NET Core应用程序的性能,本文的大部分内容来自翻译,当然中间穿插着自己的理解,希望对大家有所帮助!话不多说开始今天的主题吧! 我们都知道性能是公共网 ...

  6. 使用google搜索时的10个小技巧!

    为大家分享一些google的技巧,很多工作了好几年的同学还不知道如何高效的利用这些技巧,希望同学们掌握!此为google的技巧,百度现在也基本上都实现了这些功能.   使用搜索引擎的10个搜索技巧   ...

  7. VMware 12安装虚拟机Mac OS X 10.10使用小技巧(虚拟机Mac OS X 10.10时间设置,虚拟机Mac OS X 10.10通过代理上网,Mac OS X 10.10虚拟机优化,VMware虚拟机相互复制)

    1:修改Mac OS 系统时间 2:Mac OS系统 通过代理上网 VMware 12安装Mac OS X 10.10虚拟机优化心得 虚拟显卡硬伤,所以必须要优化下才能用,优化的原则就是能精简的精简, ...

  8. Java性能优化的十条小技巧

    1 System.nanoTime 测试性能时,System.nanoTime比System.currentTimeMills更精确,前者使用纳秒计时,且对系统影响更小. 具体来说: System.c ...

  9. Win Server 2003 10条小技巧

    微软推出Windows Server 2003已经有一段时间了,但是,由于它是一个面向企业用户的服务器操作系统,所以,没有引起更多个人用户的注意.实际上,简单地改变一下系统的设置,您也可以将Windo ...

随机推荐

  1. [SLAM] ***AR Tracking based on which tools?

    SLAM虽然小复杂,但对于开发者而言,ar sdk通常会解决这个问题. 所以相对于识别,跟踪是个看上去高大上但实则不需要关注细节的部分. 识别,要技术深耕:跟踪,需行业深耕. 在此了解下常见的ar s ...

  2. [Optimisation] Read & Write file on Hard Disk

    Ref: 探寻C++最快的读取文件的方案 方法/平台/时间(秒) Linux gcc Windows mingw Windows VC2008 scanf 2.010 3.704 3.425 cin ...

  3. 报错libtest: error while loading shared libraries: libuv.so.1: cannot open shared object file: No such file or directory

    使用g++编译.运行libuv的demo错误解决 我们通过例子来讲述监视器的使用. 例子中空转监视器回调函数被不断地重复调用,  通过例子我们也可以了解到: 由于设置了监视器, 所以调用 uv_run ...

  4. linux中free命令内存分析

    Mem(物理内存分配情况)行 total:表示物理 内存总量 used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用 free:未被分配的内存 s ...

  5. iOS - DNS劫持

    ******科普** 1.DNS劫持的危害 不知道大家有没有发现这样一个现象,在打开一些网页的时候会弹出一些与所浏览网页不相关的内容比如这样奇(se)怪(qing)的东西 图一   或者这样 图二   ...

  6. Ubuntu下配置使用mysql

    很多生产环境都使用linux系统,相比于window系统,界面真的做的不够人性化,但是简洁高效也是linux的优点吧.在linux上使用mysql又是不一样的风景吧.

  7. 书写 sql 中关于 update 多表联合更新的方法

    SQL Update多表联合更新的方法(1) sqlite 多表更新方法//----------------------------------update t1 set col1=t2.col1fr ...

  8. 使用 vm 加载文件中的数据到变量里面

    .json 不能写注释, 还需要严格的双引号 或者使用 .json5 // test.db [ // name {name: 1} ] // test.js const fs = require('f ...

  9. position 有五个值:static、relative、absolute、fixed、inherit。

    position 有五个值:static.relative.absolute.fixed.inherit. static 是默认值.就是按正常的布局流从上到下从左到右布局,平常我们做网页时,没有指定 ...

  10. Codeforces 758C-Unfair Poll

    Unfair Poll time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...