更新:
================================================================我终于用oprofile找到了原因。这是因为Symfony的路由缓存。我们有很多具有不同urls的页面,symfony将它们缓存在一个文件中(序列化数据)。因此,缓存文件越来越大,它需要更多的CPU来序列化和取消序列化数据。
在我禁用路由缓存之后,一切都进行得很顺利。
================================================================
我们有三个带有LVS的web服务器(Apache2.11+PHP5.26),我们在产品开发中使用Symfony 1.0。
但是最近我们用Symfony 1.2.7更新了我们的产品,我们得到了一个关键的性能问题。
我们用Ganglia监视我们的服务器。在更新之前,web服务器的平均负载小于1。更新后,负载急剧增加,在顶部加载80 (我可以从Ganglia中看到CPU使用量大幅度增加)。
我找不到原因。是因为Symfony框架吗?(但根据Ganglia的说法,负荷不应该增加得这么快)。
顺便说一下,在我们的新产品中使用了大量AJAX,这意味着至少有5-7个PHP请求来打开一个页面。这就是原因吗?
有人能帮我找出所有可能的原因吗?或者我还应该提供什么信息来诊断呢?
谢谢,并期待您的回复~
发布于 2010-03-04 03:24:14
我终于找到了原因。这是因为Symfony的路由缓存。我们有很多具有不同urls的页面,symfony将它们缓存在一个文件中(序列化数据)。因此,缓存文件越来越大,它需要更多的CPU来序列化和取消序列化数据。
在我禁用路由缓存之后,一切都进行得很顺利。
https://serverfault.com/questions/67232
复制相似问题