【顶级教学】6W个主题帖子秒加载论坛,秒进网站,数据库读取速度提高百分百!
44001494 1月前

由于这几天一直在采集别人的内容。数据越来越多,网站刚开始没内容的时候都是秒进的,于是找了各种优化加载速度的方法,
首先学了一下他们的方法用redis进行缓存,用了之后感觉加载速度也只是稍微快了点皮毛,最多也就比之前快了1秒,毕竟是缓存,不能从根本优化数据库读取速度。

可以看到我的主题一共有6W多个,优化前数据库读取要3秒多,实际打开网站要5秒左右。




于是我去数据库看了一下,首先我发现xiunobbs默认的储存数据引擎用的是MyISAM ,于是我想着能不能用Wordpress程序的数据储存引擎类型“InnoDB”来试试。所以我问了AI这两种引擎哪个更适合优化读取速度和动态交互,答案是推荐InnoDB,刚好xiunobbs程序也支持InnoDB数据储存引擎,所以我把数据表中存储数据量比较多的统统改为InnoDB类型。这一改速度又快了不少!!!


改完之后其实我还是觉得很慢,只是感觉速度变快了。但是数据是骗不了人的,因为那只是缓存效果。
所以我就看了一下同行的论坛,发现他的数据也挺庞大的,也有几W个主题,看他的底部SQL基本是0.432,他是怎么优化的呢?我想既然他可以优化那么快那我们应该也可以,只是不知道方法而已。
于是我查了一下他的网站,发现套着CFCDN。所以我感觉可能是CDN的原因,然后我刚要想着也试试套CDN,突然想起cdn只是缓存静态页面。跟我数据库读取速度有毛关系。所以我问了一下群里人,到底怎么优化速度,他们都说是开缓存就行。
开缓存有用我还问你们干嘛!!!然后又看到群里的人说数据库分表储存就可以减少读取,其实这个最早我也想到分表了,但是xiunobbs不支持分表,分表的话有些插件可能就不兼容了,很可能出现大问题。除非把在用的插件全都二开一遍。

面对每日激增的采集内容,速度越来越慢。我想着既然这样行不通,那就问AI怎么从宝塔上优化xiunobbs程序读取速度,当然他给了我一堆方法,于是我一个一个试了一遍,终于有一个方法让我把读取速度直接提升百分百。速度直接回到当初无数据秒进一样!


6W主题,分页3000多,读取速度从3秒直接降到0.3秒。每个页面都是秒开,而且我服务器配置是2h2g5M的香港机,嘿嘿。

宝塔优化方案1:在宝塔安装网站加速插件,这个基本没什么卵用,反正能优化一点是一点吧我想,开了之后造成我评论不能马上更新评论,而且我用的是那种回复显示插件,所以加了个不缓存文章页面的规则,解决了!
【最终方案】宝塔优化方案2:其实说白了,上面的方法都是缓存页面的,不能解决数据库读取,下面这个才是真正让我回到建站初期的访问速度方法【我打了2小时的字,收1金币不过分吧?】:

首先,查看一下你网站的php版本是用的几的,比如我用7.2php那就去宝塔应用商店找到这个7.2PHP软件,然后点设置,再点配置文件,CTRL+F搜索:opcache.memory_consumption
你会看到你的配置是opcache.memory_consumption=128 ,把数字改成512或者根据你的服务器配置内存把内存分配给他,越大配置越好,如果是2g内存就给512,4G可以给1028:
opcache.memory_consumption=1028,大概就是这样,把内存分配给他,保存配置,点击重启PHP或者重载php配置。教程结束,你现在可以去享受速度了。

相关帖子
最新回复 (13)
全部楼主
  • 44001494 楼主
    1月前 2
    0
    管理员给我顶上去,加精品
  • Tillreetree 版主
    1月前 3
    0
    顺便说一下,在xiuno 官-方 论坛关闭之后,插件质量参差不齐,导致不是所有插件都会完整利用缓存机制,例如有些针对帖子的插件就是硬查数据库,一页有多少个帖子就查几次,如果还涉及到用户的话,那就翻倍查询数量,就好像服务器的计算资源无限供应一样;你的SQL 查询次数依旧过百,并没有真的优化好
  • Tillreetree 版主
    1月前 4
    0

    ▲左下角:油桶=数据库查询次数,闹钟=服务器处理时间丨页面加载时间(TTFB),蛋糕=服务器内存使用量

    让更多本来直接查询数据库的查询走缓存才是治本的

  • juse
    1月前 5
    0

    哈哈哈哈哈,目前还没感觉慢,就先这样

  • v1sth
    1月前 6
    0
    面对如此强贴,论遇到多大阻力,只要我一息上尚存,就绝不会让它沉沦下去,这一点请楼主放心。 
  • wenwen
    1月前 7
    0
    不错的帖子!
  • adnim
    1月前 8
    2

    有时候更低,不一定

    16万数据,外加33个插件,没有什么缓存,没任何优化也不会优化

    主机用的 1核/1G/1M带宽,页面也是秒开

  • adnim
    1月前 9
    0
    useie 这完全取决于你的内容是什么好吧,那个音乐网站现在35万多主题,回复超了500万照样秒开,纯文字和加载第三方数据就不是一个概念,更何况你还是1核1g的服务器,理论来说如果是纯文字的内容,就是过亿也是秒开 ...
    楼主讨论的是如何让数据库加载更快,页面要是全是图片或API之类的肯定会慢
  • adnim
    1月前 10
    0
    useie 这完全取决于你的内容是什么好吧,那个音乐网站现在35万多主题,回复超了500万照样秒开,纯文字和加载第三方数据就不是一个概念,更何况你还是1核1g的服务器,理论来说如果是纯文字的内容,就是过亿也是秒开 ...
    底部那个时间,统计的数据库的,可不是页面啊!
  • nanianyujian
    1月前 11
    0
    非常棒!!!
  • Tillreetree 版主
    1月前 12
    0
    adnim 有时候更低,不一定 16万数据,外加33个插件,没有什么缓存,没任何优化也不会优化 主机用的 1核/1G/1M带宽,页面也是秒开
    你可能需要重新上传图
  • 942539
    22天前 13
    0
    不错的帖子!
  • ericlx
    5天前 14
    0
    非常棒!!!
返回