php页面的等待时间

时间:2017-06-16 08:56:58

标签: php mysql apache

我正在调试我的ajax应用程序的性能问题。

Firefox开发人员工具显示等待时间约为3秒。

如果我尝试通过getrusage()'ru_utime.tv_sec'和'ru_utime.tv_usec'来测量php脚本,我会在脚本开始时随机地获得0.2到9秒,并且脚本开始和结束之间的差异大约是0.07秒。

那么我该如何解释这些结果呢? 这是否意味着PHP代码本身运行0.07秒,剩余时间是sql查询等? (我的脚本中确实有很多复杂的查询)

或者是否意味着apache或php解释器在执行实际的PHP代码之前会做些什么?

或者它可能不是服务器故障,但是ajax是一个jquery?

的Debian。 php版本是5.4,apache - 2.2,jquery 1.11。

UPD: 对不起,我忘了提到重要信息 - 我从页面运行多个ajax请求。如果我单独运行一个请求,等待时间是0.6秒。

2 个答案:

答案 0 :(得分:1)

您使用的是localhost吗?如果是这样的话机会会慢一点。升级到PHP 7,如果它可以提高速度。 Apache,如果你想要更好的性能,请切换到nginx。 Apache就像一个4乘4,包含你需要的一切,nginx更像是法拉利,没有那么多,但它做你需要它。

虽然没关系,但jQuery现在是版本3,你运行的是旧版本。

答案 1 :(得分:0)

因此,getrusage()仅测量PHP代码执行本身的时间。 如果我想测量查询流等,我需要测量实时。

$GLOBALS["mymicrotime"] = microtime(true);
//code here
print_r(microtime(true) - $GLOBALS["mymicrotime"]);

并行脚本运行3秒而不是0.6秒,因为在Interbase / Firebird查询中存在某种锁定。