Php 分析Web应用程序速度

Php 分析Web应用程序速度,php,mysql,performance,http,Php,Mysql,Performance,Http,我有点困惑,因为我的逻辑/程序员大脑说,如果所有的东西都是常数,那么函数的速度必须是常数 我正在开发一个PHP web应用程序,使用jqGrid作为显示数据的前端。我正在我的个人电脑上测试,因此网络流量不适用。我向PHP函数发出HTTP请求,它返回数据,然后jqGrid呈现数据。让我困惑的是,有时Firebug报告说这有时需要300-600毫秒,有时需要3.68秒。我可以一次又一次地运行请求,响应时间完全不同 查询是相同的。系统上的用户数相同。没有网络延迟。相同的代码。测试时,我没有在计算机上运

我有点困惑,因为我的逻辑/程序员大脑说,如果所有的东西都是常数,那么函数的速度必须是常数

我正在开发一个PHP web应用程序,使用jqGrid作为显示数据的前端。我正在我的个人电脑上测试,因此网络流量不适用。我向PHP函数发出HTTP请求,它返回数据,然后jqGrid呈现数据。让我困惑的是,有时Firebug报告说这有时需要300-600毫秒,有时需要3.68秒。我可以一次又一次地运行请求,响应时间完全不同

查询是相同的。系统上的用户数相同。没有网络延迟。相同的代码。测试时,我没有在计算机上运行其他应用程序。我可以理解查询缓存可以提高后续请求的性能,但速度只是在毫无理由地剧烈波动


那么,我的问题是,还有什么能导致响应时间的这种变化?我怎样才能确定它在做什么?更重要的是,有没有办法使事情更加一致?

您应该做的第一件事是分析代码(请参阅)。这将告诉你瓶颈在哪里,然后你可以找出为什么你的响应时间波动这么大。

< P>如果你使用Firebug来确定速度,你需要考虑Firefox和PHP都在缓存资源。特别是PHP,它有一个内置的操作码缓存来最小化后续运行时。这在第一个实例上显示为长时间运行,然后在刷新时显示为多次短时间运行。我同意rfw对您的分析进行更深入的分析。

如果您使用(ab),您可以获得一组基于多个访问和多个并发访问的统计数据,提供按连接、处理和等待细分的最小、平均、中值和最大访问时间(以及STDEV);和百分位数。。。使它成为一个非常有用的工具,用于确定这是否真的是一个问题或异常

虽然它不能诊断性能问题的原因,但它可以告诉您是否确实存在问题