关于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,最后点击保存。
卢松松只是业余的,菜鸟一个。
wp是开源,代码也是开源的,快不快,还得看人。
卢松松同学活生生被排挤出局,长的丑不能见人,技术也不行,看他哭晕在网络营销培训班的厕所,感觉释然。
博主之前也说 GNU/Linux 需要清理垃圾,因为工作时产生了日志、缓存。例如 pacman、apt-get 会把下载的软件包放到本地、系统会记录日志。我发现了一款 https://bleachbit.org 这款软件同时给 GNU/Linux、windows 提供垃圾清理服务,GitHub 上还有 stacer ,也能清理垃圾。