2017-10-05 24 views
7

改善wp-admin面板性能的建议:请提供建议和方法以确定WordPress管理面板问题中的瓶颈。它是一个多站点,并且已启用第三方插件。如何识别插件冲突和哪个插件导致perf/memory问题。所有这些PHP-FPM,nginx的在泊坞窗容器中运行观察改善wp-admin面板性能的建议

问题: 在登录过程中 发表在创建新的页面加载

+4

我从来没有找到更好的方法来调试WP安装中的性能问题,而不是克隆到测试环境并逐个禁用插件。 – janh

+0

您可以使用开发工具中的网络选项卡(如果在Chrome上) - 并查看什么时候加载 - 您可能会看到有什么东西 – Stender

+1

您可以在此发布您的问题:https://wordpress.stackexchange.com/因为你可能会得到一个快速和良好的答案:) – Sergiu

回答

1

感谢您的输入。 我发现了问题并解决了它。问题在于网络文件系统,php脚本需要更多时间来阅读它,因为上传的资源总大小是以GB为单位的,并且Filter中构建的wordpress框架将执行递归调用来计算大小。我使用了调试栏慢动作和过滤器插件来确定哪个动作/过滤器需要更多时间。

解决方案:在多站点的管理面板中,如果您启用了设置,则会跳过计算磁盘大小 - 现在站点速度非常快。但是会失去限制用户上传的功能。我为每个站点定义了2 GB,那么限制用户从2 GB磁盘配额的功能将被禁用。有没有办法调整这些东西?请提供您宝贵的建议。

3

这里是一步一步的指导,以确定性能问题。

  1. 如果服务器不在生产或者如果它没有多大意思,尝试切换到任何默认的WordPress主题(TwentySeventeen为例),看看是否有任何变化。

  2. 您可以停用所有插件并查看是否有帮助。如果是 - 尝试逐个打开插件,这将帮助您确定哪个插件导致性能问题。

  3. 尝试安装一个免费的插件叫做调试工具栏(你可以做到这一点插件,添加新的),它会告诉你慢的东西在自己的网站

    debug bar plugin

  4. 检查您的浏览器控制台还可能有帮助。

+0

在阅读本文之前,我发现了解决方案,但您应该得到赏金点数。您的输入更有价值,但所显示的屏幕截图与Query Monitor插件相关,与调试栏插件无关:)。看到你的网站,并创造了更多的插件 - 你简直太棒了:)和wp专业知识。 – Senthil

+0

谢谢;)很高兴帮助 –

+0

再次感谢:)解决方案:在多站点的管理面板中,如果您启用了一个设置,那么它将跳过计算磁盘的大小 - 现在网站非常快。但是会失去限制用户上传的功能。我为每个站点定义了2 GB,那么限制用户从2 GB磁盘配额的功能将被禁用。有没有办法调整这些东西?请提供您宝贵的建议。 – Senthil

1

有几个PHP性能工具,如XHProf,它可以帮助您确定问题的原因。

请不要忘记告诉我们问题是什么,通过更新您的答案!

0

我建议在另一台服务器上进行网站备份并检查问题。如果问题仍然存在,请逐个停用插件。

1

你可以给我们一个PlugIns的安装列表!?

我可以告诉你一些,他们是从我的经验浪费内存...

是否使用即视觉作曲家插上,一个命名为喜欢的是在关于最最坏的后端塞它的需求和重要的主题它通常结合主滑块革命,这也有疯狂的内存需求...

你一般有很多插件,所以让我们说更多,然后10至20?你需要所有这些吗?当您在后端编辑页面时,哪些是加载的?

如果你真的需要所有的人都想想租用更好的服务器... ;-)

+0

很难说如何识别问题没有更多的关于你的insallation的信息,因为它取决于许多个人因素......作为服务器的速度,您的网站的大小等等! 在genral wordpress对大型网站的数据库管理效率不高,你说你有多站点安装,有多少个站点!? :) 更可悲的是,很多很多,甚至更多的插件比wp核心关于他们的效率更差.... – ToTaTaRi

2

由于这个问题是由两个代码的(插件)的相互作用和生产环境造成的,你需要一些在尝试测量原因时将所有这些考虑在内的工具。

我真的很喜欢New Relic。这是一款付费产品,但通过免费试用,您可能可以诊断您的问题。他们有一个WordPress集成,它会向您显示每个动作挂接和插件正在采用多少秒/毫秒。

1

我在与慢速wp-admin的战斗中发现的是心跳wordpress功能,它负责自动保存并制作成千上万份相同的帖子。 它设置自动保存间隔。 它不是一个性能杀手,但在我的情况(woocommerce有几千条记录)它有助于提高管理面板的速度,可能对你有用。

你可能想在你的functions.php增加以下内容:

add_action('init', 'stop_heartbeat', 1); 
    function stop_heartbeat() { 
    wp_deregister_script('heartbeat'); 
}