Linux区


wordpress加载慢的原因之一:数据库体积过大

关于wordpress博客网站加载速度,用户一直颇有微词。知名自媒体站长卢松松博客上有一篇《我为什么放弃WordPress》就道出了不少人的心声。网友们提出了各种改善方法,比如禁用Google字体、尽量少用插件、使用缓存插件、使用CDN、减小网页/图片/css/js体积、减少草稿等等,这在我开始使用wordpress的9年前就注意到了,并不新鲜,而且我现在一直使用国内无与伦比的阿里云服务器,带宽是没问题的,CDN没必要用,就算单个图片体积2M以上也是秒开。然而,近来我放在阿里云上的manjaro.org.cn网站(wordpress做的)前后台都变得奇慢无比,以前2秒钟就可以打开页面,现在竟然需要30秒钟。于是开始了以下N道排查工作:

  • 禁用插件【先后禁用又开启,没见网站速度提升】;
  • 看wp-config.php里的写法是否有误【没发现问题】;
  • 看主题目录下的functions.php里的新添加内容是否有影响【没发现问题】;
  • 尝试下载普通zip文件看速度是否还是那样慢【答案:非常快】;
  • 看linux.zone/wp-admin这个后台的打开速度如何【答案:非常快】;
  • 检测.htaccess文件权限是否导致wp-super-cache缓存出错【答案:没问题】;
  • 检查数据库发现wp_options表体积比linux.zone的多出100倍,非常吓人!按照豆瓣上某网友提出清理transient数据的方法处理之,搞定!

简单几步实现定时清理数据:

因为这个wp_options表的transient数据一直在增加,所以需要定时清理,步骤如下【以navicat为管理数据库工具】:

1,开启mysql的事件计划功能:在my.ini或my.cnf里添加event_scheduler = ON语句即可,不添加这句话的话,以后mysql服务一旦重启,事件计划就会失效。

2,重启服务器的mysql服务。

3,在navicat的事件定义界面输入相应的命令,然后设置“状态”为ENABLE,“ON COMPLETION”为PPRSERVE,如下图所示:

4,在“计划”标签页里设置定时选项,如下图所示:

5,最后点击保存。

相关博文



以下是网友的3条评论,您赞同吗?

  1. 2018-10-14 14:08

    卢松松只是业余的,菜鸟一个。
    wp是开源,代码也是开源的,快不快,还得看人。

    • 小衲
      2018-10-14 14:16

      卢松松同学活生生被排挤出局,长的丑不能见人,技术也不行,看他哭晕在网络营销培训班的厕所,感觉释然。

  2. 223.106.33.*** [ 匿名 ]
    2018-5-31 15:29

    博主之前也说 GNU/Linux 需要清理垃圾,因为工作时产生了日志、缓存。例如 pacman、apt-get 会把下载的软件包放到本地、系统会记录日志。我发现了一款 https://bleachbit.org 这款软件同时给 GNU/Linux、windows 提供垃圾清理服务,GitHub 上还有 stacer ,也能清理垃圾。

发表评论

电子邮件地址不会被公开。