在我的大型WordPress站点上查询耗时超过120秒

时间:2018-02-22 作者:Raz Zelinger

我有几个Wordpress网站在VPS上运行,每个网站都有100多万个帖子。添加新帖子时,查询只会挂起很长一段时间,直到网站崩溃。我使用XML-RPC通过C#应用程序发布到我的网站。大多数时候我在跑步时看到的show processlist 在我的PHPMyAdmin上

copying to a temp table
和一些查询或

sending data 查询为:

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = \'post\' AND (wp_posts.post_status = \'publish\') ORDER BY wp_posts.post_date DESC LIMIT 0, 10

我真的不知道如何解决这个问题,也不知道为什么会这样。是VPS吗?

1 个回复
SO网友:WebElaine

最好与您的主机一起解决这类特定问题。通常,当您的查询速度较慢时,以下几点可能会有所帮助:

优化数据库-检查是否有表比其他表臃肿。您可以关闭修订和自动保存,或减少允许的修订数,以帮助某些人。插件也可能创建巨大的表,以便确定哪些表是巨大的,并找出为什么是一个好的开始。也有可用的数据库优化插件-请确保完全备份所有内容,但它们有时可以大幅减少数据库大小,并大大提高速度。

优化主题-您可以尝试几个不同的主题,也可以使用查询分析插件查看主题中的瓶颈所在。虽然这不会直接影响wp admin,但如果您的流量很大,并且前端被访问者阻塞,这将影响整个站点(包括后端)的性能。

启用更好的缓存和/或更好的代码-如果您经常运行未缓存的查询,这将对您的数据库产生巨大影响。缓存可以让一切运行得更快。

您可能还需要研究REST API,因为它可能比XML-RPC性能更好。

结束