Apache、PHP 和 Symfony 的性能问题

Apache、PHP 和 Symfony 的性能问题

更新:

============================================================================= 我终于在 oprofile 中找到了原因。这是因为 Symfony 的路由缓存。我们有很多具有不同 URL 的页面,symfony 将它们缓存在一个文件(序列化数据)中。因此,缓存文件变得很大,需要更多 CPU 来序列化和反序列化数据。

禁用路由缓存后,一切正常

================================================================

我们有三个带有 LVS(Apache 2.11 + PHP 5.26)的 Web 服务器,并且我们使用 Symfony 1.0 进行产品开发。

但最近我们使用 Symfony 1.2.7 更新了我们的产品,并且遇到了一个严重的性能问题。

我们使用 Ganglia 来监控我们的服务器。更新之前,Web 服务器的平均负载低于 1。更新之后,负载急剧增加,最高负载为 80(我可以看到 Ganglia 的 CPU 使用率大幅增加)。

我找不到原因。是因为 Symfony 框架吗?(但根据 Ganglia 的说法,负载不应该增加得这么快)。

顺便说一下,我们新产品中大量使用了 AJAX,这意味着打开一个页面至少需要 5-7 个 PHP 请求。这是原因吗?

有人能帮我找出所有可能的原因吗?或者我应该提供什么其他信息来诊断?

先谢谢您,期待您的回复~

答案1

我最终在 oprofile 中找到了原因。这是因为 Symfony 的路由缓存。我们有很多具有不同 URL 的页面,symfony 将它们缓存在一个文件(序列化数据)中。因此缓存文件变得很大,需要更多 CPU 来序列化和反序列化数据。

禁用路由缓存后,一切正常

相关内容