更新:
============================================================================= 我终于在 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。这将列出耗时最多的函数的符号名称。如何将其映射到改进中是一个悬而未决的大问题,需要更多细节。