微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么是nginx的$request_time,为什么它比php-fpm执行时间多得多?

背景:我的项目的目标是创建一个响应速度非常快的网站.页面很少,其中许多只是302重定向.

Nginx中,我正在记录here $request_time.

PHP中,我正在记录请求开始时的微缩时间,并在它退出之前.

PHP-fpm(PHP 5.3.27)和Nginx(1.4.4)在同一台机器上运行,没有数据库(只是写入Beanstalkd队列),没有复杂的Nginx配置.

问题:PHP执行时间与Nginx的$request_time之间存在巨大差异. $request_time通常是0.5秒,但在几个小时内它平均更像是3秒. PHP的执行时间总是在0.008秒到0.02秒之间(使用PhalconPHP).

问题:为什么会出现如此大的差异?也许我不完全理解$request_time是什么,或者我的网络服务器可能有一些有问题的配置?我很乐意提供有关环境的更多信息.

最佳答案
$request_time是从发送的第一个字节到关闭所有内容并完成日志记录的时间.如果你看一下你正在记录的Nginx日志和microtime,它们在起始时间方面有多接近?对于request_time接近3秒的那些,并且PHP执行时间是0.02秒,如果你推断请求开始时间并将其与PHP内的microtime进行比较,它们是否关闭,或者Nginx需要等待一秒或2(也许是一个PHP进程释放等…).记录$upstream_response_time以查看比较结果可能会很有趣.

原文地址:https://www.jb51.cc/nginx/434797.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐