因此,我试图破解为什么这个WordPress安装了如此多的内存。我在MediaTemple DV 4.0帐户上将我的服务器从512升级到1 gb ram,这个单一安装平均使用60%,如果有人摆弄仪表板,则会跳到118%。前端用户没有任何性能问题,并且站点没有崩溃,但由于消耗了大量内存,我经常不得不重新启动服务器到FTP或SSH。现在,通常每个页面都在仪表板将悬挂一两分钟。这种情况间歇性地发生,但一旦启动,仪表板中的每个页面都会一直挂起,并且重新启动服务器不会纠正它(它只是神秘地恢复正常)。此外,我在服务器上安装了其他WP,但没有一个在仪表板内外遇到任何问题。他们也在使用CloudFlare和AmazonS3,如下所述。我知道对此没有直接的答案,但我很好奇是否有人有任何建议提供下一步尝试,考虑到我已经尝试过:
这是安装的内容:
我尝试做的调试:
我安装了APC缓存(但是再次,W3 Total Cache不会缓存控制板)
我修改了我的MySQL配置以匹配Matt Mullenweg的mysql建议。 http://www.codinghorror.com/blog/files/matt-mullenweg-wordpress-mysql-recommendations.txt
我安装了xdebug和webgrind并分析了cachegrind输出,但我不太清楚什么算作红旗。我编写的很少的PHP函数甚至列在要求具有高总包含成本的项目中,并且总包含成本最高(php :: call_user_func_array),通过call_user_func_array调用的函数均匀分布在核心函数和我的拥有。我拉的主页样本cachegrind是15 MB。另一方面,仪表板中Post Edit屏幕的cachegrind为186 MB,顶级攻击者似乎是自定义manage_posts_columns。但是,我删除了所有manage_post_columns自定义设置,并且信息中心仍然挂起,经常无法使用。
我在哪里开始进一步排查?
答案 0 :(得分:1)
从干净,全新的WP安装开始,然后慢慢添加您正在做的各种事情。如果你在添加内容时观察内存使用情况,你会发现导致问题的部分。
答案 1 :(得分:1)
我想我找到了罪魁祸首:
CloudFlare WP插件和Dashboard =核心崩溃。
我不确定原因,但在检查了webgrind中Dashboard页面的内存配置文件后,我发现CloudFlare API的curl请求导致内存大量增加。从MediaTemple DNS禁用CloudFlare并禁用插件后,仪表板开始正常运行。
不确定是否可以使用WP插件启用CloudFlare,但出于我的目的,我宁愿拥有一个正常运行的仪表板......