如何使用 oprofile 来查找我们的 Web 服务器的瓶颈?

如何使用 oprofile 来查找我们的 Web 服务器的瓶颈?

更新:

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

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

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

最近我更新了 Web 服务器(Centos 5.3 + PHP 5.2.6)上的 PHP 程序,但这给我的服务器带来了很大的负担。因此我决定使用 oprofile 来查找导致我的服务器变慢的原因。

我已经成功安装了 oprofile,但接下来该怎么做?有人有调优 Apache 服务器的实际经验吗?

谢谢〜

答案1

您已经知道是什么导致它变慢了:PHP。我认为您最好使用 PHP 分析器(如果有这样的东西)。

oprofile 的基本用法在手册中。opconfig --start ; 等待一段时间 ; opreport ; opconfig --stop。这将列出耗时最多的函数的符号名称。如何将其映射到改进中是一个悬而未决的大问题,需要更多细节。

相关内容