我最近安装了Zend Server 5,以利用一些代码痕迹,同时提高应用程序某些区域的性能。
我一直在寻找通过一些长的请求时间我的代码跟踪。
有时我看到很长的REQUEST时间,实际执行时间只有实际时间的25%(即从index.php开始)
我想知道是否有人熟悉这种事情,并会感谢任何帮助。
我不熟悉zend-server,也不知道如何计算你提到的指标,但是想知道我对PHP,apache和web的一些了解。
通常,PHP执行时间只是服务请求所花费的总时间的一小部分 – 在通过networking获取请求并且被networking服务器识别的时候存在显着的延迟(尽pipe这可能没有被报告/包括在度量中)。 我希望时钟在这一点上开始。 然后,networking服务器将请求传递给PHP,PHP需要加载和parsing相关的代码文件。 这可能相对耗时 – 因此在使用操作码高速缓冲存储器方面是有益的。 然后,一旦代码实际上开始执行,如果它必须从文件/数据库/其他任何数据读取这将是一个很大的开销(和PHP会睡觉,而在大多数情况下等待响应)。 即使一旦PHP脚本完成,这不是故事的结束 – Web服务器进程必须挂起,直到客户端已经确认所有的数据 – 时钟可能仍在运行。
在networking上,在PHP代码中,在数据库上,在文件系统上和在浏览器上,你可以做各种各样的事情来改善性能 – 远远不能在这里回答。 当然,我不认为PHP会只执行25%的请求生命周期的代码(事实上,如果有什么我会怀疑是相当高的 – 意味着你的PHP代码是非常低效的,或者其他所有的东西工作得很好)。
HTH
C。