Editing a Post, 99% CPU?

时间:2013-10-12 作者:Jake

我有一个博客,有大约15k篇帖子,数据库大小为1440万。

该网站从前端开始运行速度极快,但发布编辑和发布列表屏幕挂起-要么部分加载,要么根本不加载。

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

检查process manager表明/public_html/wp-admin/edit.php/public_html/wp-admin/post.php (分别是发布列表和发布编辑-是的,我知道他们看起来很落后)消耗了99%的CPU。

我在第三层Bluehost VPS上遇到了这个问题,所以我升级到了Heart Internet Hybrid 250(12core,28gb ram),以尝试缓解这个问题-不需要冒险:/

非常感谢您为解决此问题提供的任何帮助-告诉客户他们必须通过phpMyAdmin编辑页面是不可取的:)

运行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
编辑:这可能是相关的:在添加新页面或编辑后页面上,标题加载并可编辑,但内容编辑器加载到一半,此外,文本显示但为白色,仅在突出显示时可见。。。

此外,使用没有插件的2012主题。。。

Edit2:如果有足够的时间(约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\');

2 个回复
SO网友:RenTheMighty

在发布或更新时,您可能正在处理可怕的mod\\u安全问题。首先查看是否在服务器上启用了它,如果您使用的是反恶意软件,它可能试图在保存时进行扫描。好的,这很简单。下一步是关闭插件。wsiwig编辑器。,seo插件。缓存插件。它们都会导致帖子更新变得非常缓慢。。这是一件一次一件的事情,所以很乏味。

SO网友:Jake Blank

我将其固定到pages post-type:

hierarchical

(布尔)(可选)帖子类型是否为层次结构(例如页面)。

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

默认值:false

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

现在,您知道如何在不覆盖核心的情况下删除页面的层次结构支持了吗?

结束

相关推荐

WP_LIST_TABLE批量操作按钮不起作用-未提交

我有个习惯wp_list_table 创建我自己的表。几乎所有功能都很完美,但批量操作按钮似乎不起作用。它是正确显示的,但单击后什么也没有发生。我想不知怎么的,有一个表单包装器丢失了,或者只是一些javascript?我添加了wp Engineers上描述的按钮:http://wpengineer.com/2426/wp_list_table-a-step-by-step-guide/#bulk我的批量操作功能:function get_bulk_actions() { $actions