我还有哪些其他选项来简化WordPress内存利用率?

时间:2011-09-29 13:39:37

标签: mysql wordpress xdebug dashboard

因此,我试图破解为什么这个WordPress安装了如此多的内存。我在MediaTemple DV 4.0帐户上将我的服务器从512升级到1 gb ram,这个单一安装平均使用60%,如果有人摆弄仪表板,则会跳到118%。前端用户没有任何性能问题,并且站点没有崩溃,但由于消耗了大量内存,我经常不得不重新启动服务器到FTP或SSH。现在,通常每个页面都在仪表板将悬挂一两分钟。这种情况间歇性地发生,但一旦启动,仪表板中的每个页面都会一直挂起,并且重新启动服务器不会纠正它(它只是神秘地恢复正常)。此外,我在服务器上安装了其他WP,但没有一个在仪表板内外遇到任何问题。他们也在使用CloudFlare和AmazonS3,如下所述。我知道对此没有直接的答案,但我很好奇是否有人有任何建议提供下一步尝试,考虑到我已经尝试过:

这是安装的内容:

  1. W3 Total Cache + PHP APC(该站点使用数据库缓存,页面缓存和APC对象缓存)。
  2. 图像资源通过W3 Total Cache托管在Amazon S3 / Cloudfront上。我在S3上存储了50,000个图像,尽管在网站中只有一小部分(大约1-2k)被积极使用。
  3. 该网站支持CloudFlare,并且正在使用CloudFlare插件来纠正IP的评论。
  4. 我没有做任何特别壮观的主题(http://www.rokkyuu.com)。该站点唯一特别高级的功能是,对于某些来自WP的图像,如果媒体库中没有图像的调整大小版本,WP会动态调整图像大小,然后将该图像推送到Amazon S3,以便W3 Total Cache替换路径,前端使用S3资产结束。这是为了避免WP为每个上传的图像裁剪8个自定义尺寸。但是,在仪表板中不会发生这种情况。
  5. 这些是我安装的插件:
    • Akismet在
    • BWP Google XML Sitemaps
    • 的CloudFlare
    • Coauthors Plus
    • Facebook页面发布
    • Livejournal Crossposter
    • 重定向
    • SABER
    • 简单的本地头像
    • 主题我的登录
    • Twitter工具
    • 推特Blender
    • 用户切换
    • W3 Total Cache
    • WordPress SEO
    • WordPress防火墙2
    • WP-DB经理
    • WP自定义管理栏
    • WP Hide Dashboard
    • WPTouch Pro
  6. 我尝试做的调试:

    1. 我安装了APC缓存(但是再次,W3 Total Cache不会缓存控制板)

    2. 我修改了我的MySQL配置以匹配Matt Mullenweg的mysql建议。 http://www.codinghorror.com/blog/files/matt-mullenweg-wordpress-mysql-recommendations.txt

    3. 我安装了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自定义设置,并且信息中心仍然挂起,经常无法使用。

    4. 我在哪里开始进一步排查?

2 个答案:

答案 0 :(得分:1)

从干净,全新的WP安装开始,然后慢慢添加您正在做的各种事情。如果你在添加内容时观察内存使用情况,你会发现导致问题的部分。

答案 1 :(得分:1)

我想我找到了罪魁祸首:

CloudFlare WP插件和Dashboard =核心崩溃。

我不确定原因,但在检查了webgrind中Dashboard页面的内存配置文件后,我发现CloudFlare API的curl请求导致内存大量增加。从MediaTemple DNS禁用CloudFlare并禁用插件后,仪表板开始正常运行。

不确定是否可以使用WP插件启用CloudFlare,但出于我的目的,我宁愿拥有一个正常运行的仪表板......