WordPress主题不规范严重影响网站性能

最近深深感受到了WordPress主题因为使用不规范的代码、老旧的函数代码和不正规的查询数据库问题导致网站加载缓慢,因为使用了阿里云主机之后使用原来的主题,发现根本加载不了,主题是很旧的代码,没有更新新的函数,加上诸多查询等问题。

在这里也建议各位使用WordPress的朋友,不要为了追求所谓的高大上而给主题添加很多额外的查询,尽量使用WordPress官方提供的函数进行查询,例如使用wp_query()进行查询,尽量使用WordPress官方库的主题,不要使用那些没有上传到官方就发布出来,很多人根本连主题都混不清楚就凑了一个主题,然后发布给别人使用,甚至很多人里面的代码还有漏洞的,都未曾知道。

本站已经发布了3个WordPress主题到官网了,详情请查看本站个人作品。如果想找高大上的主题,请使用flatbox扁平化主题,同样发到官网,达到了9000多次下载。

下面的文章来自:云运维的WordPress网站在大数据量的性能问题,其中讲到了WordPress数据库查询和一些优化方案。能够帮助你了解到网站加载慢可能是主题不规范引起的问题,而不是阿里云主机的问题。

WordPress在全国以及全球的安装量非常大,但是很多人忽略了一点事实,Wordpress本身是一个Blog程序,而Blog网站的文章数据量通常并不会大多(几年下来可能也只有几十到几百篇),所以它的一些设计,在大数据量下可能会出现一些问题。

当Wordpress流行起来之后,拥有了大量的资源,比如主题、插件等,很多人也会把它当作CMS程序来用,但是当文章增加到一定数量时,性能问题也就凸显出来了。

不同的网站可能会涉及到不同的问题,具体的情况需要具体分析,这次案例只给大家提供下参考。

客户遇到的主要问题是这个:
Wordpress网站在大数据量下的性能问题 (1)
简单看下就知道是SQL效率的问题,但是具体是哪个SQL,需要检查过才能确定。

服务器开启慢查询日志记录后,可以看到下面这条语句:
Wordpress网站在大数据量下的性能问题 (2)
根据日志来看,开启日志后,这条语句一共执行过80次,平均每次的时间超过20秒(日志阀值设置为2S)。

根据语句内容来看,实现的功能是显示下面这个相关文章的数据:
Wordpress网站在大数据量下的性能问题 (3)
这种复杂的查询语句几乎没有优化的余地,所以建议是,删除掉主题中对应的代码,使用wumii或者百度的相关文章推荐功能来做为替换。
很多大型的Wordpress网站都会使用这种外部调用实现相关文章功能。一个比较有名的Wordpress大站”萝卜网”,同样使用的是wumii实现的相关文章推荐功能(现已被政府部门要求关闭)。
这样做的好处,1是不需要耗费服务器资源,2是能做到真正的相关文章(程序自身显示的相关文章很多时候其实根本没有相关性)。

将网站主题更换到默认主题后,由于没有相关文章查询,所以网站是正常的速度:
Wordpress网站在大数据量下的性能问题 (4)
而在使用带有相关文章的主题时,页面执行速度是这样:
Wordpress网站在大数据量下的性能问题 (5)
客户提出来的另一个问题:
Wordpress网站在大数据量下的性能问题 (6)
这是一个常识性问题,程序自带的搜索功能使用的是like语句,当文章数量增加到1万以上时,查询的时间会明显增加。几乎所有的网站程序都差不多,而不仅是局限于Wordpress。
推荐的解决方案是使用百度的站内搜索,好处和前面差不多,搜索效果会更好,但是不消耗主机资源。

最后一个问题:
Wordpress网站在大数据量下的性能问题 (7)
这个问题的原因还是最前面提到的,Wordpress作为一个Blog程序,很多地方并没有考虑到大数据量的情况,比如很多必要的索引都没有建立。
在编辑文章时,检查调用的查询:
Wordpress网站在大数据量下的性能问题 (8)
类似的查询还有一些,不一一列举,针对查询的字段设置索引后,编辑功能可以正常使用。

除了上面提到的这些(复杂的联合查询,like方式搜索),还有一些比较常见的影响性能的语句需要避免使用,比如很多CMS模板中的随机调用都是使用的ORDER BY RAND()方式实现,当文章数量达到几万时,一次查询执行时间可能会达到几秒甚至更多。

声明: 未经本站许可,谢绝转载!

0 个主题帖 其中:热心观众:0 个, 管理员:0 个

抱歉,评论被关闭