我有一个博客,约有1.5万篇帖子,数据库大小为14.4M。
该网站从前端开始运行速度非常快,但是编辑后和列出后的屏幕挂起了-部分加载或根本不加载。
更糟糕的是,整个服务器在尝试后陷入瘫痪...
检查流程管理器后发现/public_html/wp-admin/edit.php
或/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');
我将其固定为页面post-type的层次结构arg :
等级制
(布尔值)(可选)帖子类型是否是分层的(例如页面)。
允许指定父级。“ supports”参数应包含“ page-attributes”,以在编辑器页面上显示父选择框。
默认值:false
注意:此参数是为Pages设计的。请注意,为您的自定义帖子类型选择它时-如果您计划有很多条目(例如-超过100个),则会遇到内存问题。将此参数设置为true时,WordPress将在为您的帖子类型加载的每个管理页面上获取该特定帖子类型的所有条目以及所有元数据。
现在,您知道如何删除对页面的分层支持而不覆盖内核吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句