1

我有一个包含约 15k 帖子的博客,数据库大小为 14.4M。

该网站从前端运行得非常快,但后期编辑和列表后屏幕挂起 - 部分加载或根本不加载。

更糟糕的是,整个服务器在尝试后陷入困境......

检查流程管理器显示/public_html/wp-admin/edit.phpor /public_html/wp-admin/post.php(分别是列表后和编辑后 - 是的,我知道它们似乎倒退了)正在消耗 99% 的 CPU。

我在第 3 层 Bluehost VPS 上遇到了这个问题,所以我升级到 Heart Internet Hybrid 250(12core,28gb ram)来尝试缓解这个问题 - 没有骰子:/

非常感谢任何帮助解决这个问题 - 告诉客户他们必须通过 phpMyAdmin 编辑页面不是一种选择:)

编辑:关于悬挂过程的说明

edit2:运行 MySQL 进程:

Id      User    Host        db  Command     Time    State   Info

338     leech.. localhost   leech.. Sleep   1959            NULL
426     tmhp_.. localhost   tmhp_.. Sleep   581             NULL
433     root    localhost   NULL    Sleep   132             NULL
441     root    localhost   NULL    Query   0       NULL    SHOW PROCESSLIST

流程示例:

Pid     Owner   Priority    CPU %   Memory %    Command
29447   tmhp        0       99.8    0.6         /usr/bin/php /home/tmhp/public_html/wp-admin/edit.php

Edit3:这可能是相关的:在添加新页面或后期编辑页面上,标题加载并且是可编辑的,但内容编辑器加载到一半。此外,文本出现但为白色,仅在突出显示时可见...

Edit4:来自用户 tmhp 的 MySQL 进程在杀死导致问题的挂起(99%)进程后消失了......我想我们可能会在这里找到一些东西......

Edit5:此对话已移至wordpress.stackexchange.com

给定足够的时间(约 3-5 分钟),后期编辑页面将完全加载并且该过程将终止。但是,发布列表页面似乎不会发生这种情况。

此外,我已将后期编辑页面上的问题缩小到页面属性元框。

作为短期补救措施,我创建了一个插件,它执行以下操作:

//Remove some features of pages so editing is faster
if (is_admin()) :
function my_remove_meta_boxes() {
    remove_meta_box('pageparentdiv', 'page', 'side');
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );
endif;

function remove_page_attribute_support() {
    remove_post_type_support('page','page-attributes');
}

add_action( 'init', 'remove_page_attribute_support' );


// Remove the Posts and Pages menus from the admin screen
function custom_admincss() {
   echo '<style type="text/css">
           #menu-pages{display:none !important}
           #menu-posts{display:none !important}
         </style>';
}

add_action('admin_head', 'custom_admincss');
4

1 回答 1

0

我将其固定到页面后期类型的层次结构 arg 中:

分层的

(布尔)(可选)帖子类型是否是分层的(例如页面)。

允许指定父级。“supports”参数应包含“page-attributes”以在编辑器页面上显示父选择框。

默认值:假

注意:此参数是为 Pages 计划的。请注意,在为您的自定义帖子类型选择它时 - 如果您计划有很多条目(比如超过 100 个),您将遇到内存问题。将此参数设置为 true WordPress 将在您的帖子类型的每个管理页面加载中获取该特定帖子类型的所有条目以及所有元数据。

现在,知道如何在不覆盖核心的情况下删除对页面的分层支持吗?

于 2013-11-07T18:59:52.733 回答