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

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

  • 禁用插件【先后禁用又开启,没见网站速度提升】;
  • 看wp-config.php里的写法是否有误【没发现问题】;
  • 看主题目录下的functions.php里的新添加内容是否有影响【没发现问题】;
  • 尝试下载普通zip文件看速度是否还是那样慢【答案:非常快】;
  • 看lulinux.com/wp-admin这个后台的打开速度如何【答案:非常快】;
  • 检测.htaccess文件权限是否导致wp-super-cache缓存出错【答案:没问题】;
  • 检查数据库发现wp_options表体积比lulinux.com的多出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,最后点击保存。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注