首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加快/优化大型网站上的管理编辑页面(50-150k帖子,每个帖子50个自定义字段)

加快/优化大型网站上的管理编辑页面(50-150k帖子,每个帖子50个自定义字段)
EN

WordPress Development用户
提问于 2022-05-19 02:00:12
回答 1查看 192关注 0票数 2

我正在与一组大型Wordpress安装与50-150k的帖子,每个有40-50自定义字段。安装是非常基本的,有有限的插件(小于5个),和默认的Wordpress主题(即二十二个,等等)。这些站点位于1核,2GB RAM,SSD VPS服务器上.

这些都是私人安装,没有公共前端或网络流量。自动更新程序、自动更新核心和修订都是禁用的.

我在编辑贴子页面上没有特写图片或其他媒体,只有文本。这些网站是在Wordpress 5.6或更高版本(我知道他们可以更新到5.9.3,但怀疑这是问题)。

The管理员编辑post页面在访问时挂起25-45秒,然后最后加载。在大型的、基本的wordpress安装中,有什么方法可以修复或加速这个问题吗?在加载大量自定义字段数据( 50-100k+ posts)方面似乎存在问题。

以下是我的发现:

  • 大多数其他wp管理页面,如类别、标签、页面、用户、设置等,在几秒钟内就会快速加载(3秒或更短)。“所有帖子”页面大约需要8-10秒左右的时间。
  • 如果我不使用经典的编辑器插件,并且不允许自定义字段部分在新的块编辑器中加载,编辑页面也会加载得很快(3秒或更短)。
  • 禁用任何其他插件(甚至所有插件)都没有任何效果。
  • 我可以加载前端贴子页,并显示所有的自定义字段,没有问题,在3秒之内。

Any创意?对于具有许多自定义字段的post页面,这种比例的核心Wordpress后端函数有问题吗?

谢谢!

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2022-07-10 00:41:45

正如birgire在评论中所建议的那样,我使用了QueryMonitor插件,并发现核心Wordpress Meta查询导致了这个问题。

CSS技巧上深入讨论了问题和核心Wordpress元查询,并在Wordpress StackExchange 这里上讨论了另一个问题。

基本上,有一个查询填充了"Select“框,用于在"Edit”页面上添加自定义字段名(见下文)。

它遍历数据库,抓取帖子中的所有元键(或自定义字段名),以创建以前使用过的键/名称的列表。这使得使用Select来选择您已经使用过的键/名称变得很容易,而不是一次又一次地键入它。

显然,查询效率不高,当缩放到带有大量自定义字段的100K+帖子时,会导致大量的性能问题。

解决方案

在这个时候,我找不到绝对的/容易的解决办法。CSS技巧师和其他人有更复杂的修复,但我真的想要一些简单的东西。幸运的是,有一个简单的解决方法可以解决StackOverflow用户Nic 建议的加载问题:

代码语言:javascript
复制
function set_postmeta_choice( $string, $post ) {
$meta_keys = array();
foreach(has_meta( $post->ID ) as $meta){
    $meta_keys[] = $meta["meta_key"];
}
return $meta_keys;
}
add_filter( 'postmeta_form_keys', 'set_postmeta_choice', 10, 3 );

只需将其放在主题文件夹中的functions.php文件的底部即可。这会将查询缩小到只有查找current post中使用的自定义字段键/名称,而不是所有帖子。

所以,这是一种权衡。它恢复速度、性能和加载时间,但使Select更不方便地添加更多自定义字段。

票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/405867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档