Big wordpress博客导致内存缓存变得巨大无缘无故

时间:2011-11-03 18:39:31

标签: php wordpress caching memory

我试图弄清楚我需要多少RAM / CPU来托管一个wordpress博客,我偶然发现了一些令人讨厌的东西。

我正在使用wp_super_cache创建wordpress帖子的静态页面和lighttpd + LUA脚本,以便立即将用户重定向到wp_super_cache生成的页面。这样可以节省很多的服务器资源。即使使用500 Mhz CPU和128 RAM,我也可以每秒服务120页。

唯一真正的负载来自wp_super_cache必须生成html文件,因为尚未生成任何文件,或者帖子已更新/添加了评论。所以这个主要是在添加新帖子时发生,因为这意味着所有索引页面都需要更新,因为所有帖子都被移动了1个位置。现在来看看这个。

enter image description here

我不明白为什么worpdress在缓存中移动如此之多。当然,在初始的页面之后需要3秒而不是13秒才能生成页面,因为缓存只在初始加载时填充,但是它首先需要3秒,所以为什么它会将内容加载到缓存中呢?

我想摆脱这种行为的原因是因为我想在最低限度主持,因为我使用wp_super_cahce +一个LUA脚本来重新定义那里的imemdiatly,这个缓存的东西正在制作服务器(当它在128 RAM时)极其缓慢,甚至几乎没有响应,没有充分的理由。这根本没有任何意义,因为我基本上要求生成完全相同的页面。我希望wordpress完全忽略了成千上万的帖子,并且只关注所请求的10个帖子。

tl; dr版本:

如何更改wordpress代码,使其完全忽略除索引页面上请求的所有帖子之外的所有帖子,以防止将大量不必要的内容写入内存缓存。

PS:我在这里发布了这个,而不是服务器故障,因为我很确定它是wordpress'编码导致这个,而不是服务器软件。

1 个答案:

答案 0 :(得分:0)

有很多方法可以使Wordpress网站具有可扩展性,事实上WP可以显得非常有效。

由于您在博客中有55000个帖子,我建议您实施负载均衡器并缓存由不同服务器提供的内容。在这里讨论整个事情很难,因为它很广泛。查看来自Envato(Themforest背后的公司,以及所有tuts ++网站)的Ryan Allen的视频,其中描述了他们如何扩展WP网站。 http://blainsmith.com/post/3619881611/scaling-wordpress

当你有这么多帖子时,我认为它们很重要。因此,您可能想要考虑更昂贵的硬件和缓存服务器,负载平衡器解决方案。