Wordpress:编辑帖子,99%的CPU?

时间:2013-10-12 18:24:22

标签: php mysql wordpress

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

该网站从前端开始工作速度非常快,但编辑后和列表后的屏幕仍然悬挂 - 无论是部分加载还是根本不加载。

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

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

我在第三层Bluehost VPS上遇到了这个问题,所以我升级到Heart Internet Hybrid 250(12核,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

编辑3:这可能是相关的:在添加新页面或编辑后页面时,标题加载并且可编辑,但内容编辑器加载了一半。此外,文本显示但是是白色的,只有在突出显示时才可见......

Edit4:来自用户tmhp的MySQL进程在杀死导致问题的悬挂(99%)进程后消失了......我想我们可能会在这里做点什么......

编辑5:此对话已移至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');

1 个答案:

答案 0 :(得分:0)

我将其固定到pages post-type:

的层次结构arg
  

<强>分层

     

(boolean)(可选)帖子类型是否为分层(例如页面)。

     

允许指定Parent。 'supports'参数应包含'page-attributes'以显示编辑器页面上的父选择框。

     

默认值:false

     

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

现在,任何人都知道如何删除不覆盖核心的页面的分层支持?