函数fastcgi_finish_request花费了大部分执行时间

时间:2012-06-27 07:44:55

标签: yii php

我使用yii + php-fpm + nginx建立了一个网站。然后我试图找到xhprof的瓶颈。 xhprof的结果表明,在某些请求(并非所有请求)中,函数fastcgi_finish_request花费了超过所有执行时间的80%。这很奇怪。

Click to view the full graph output from xhprof

Click to view the form output from xhprof

我使用的版本是:

php:5.3.8

nginx:1.0.10

xhprof:从其github源构建

为什么函数fastcgi_finish_request需要这么多时间?我该如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

来自php-fpm.org页面:

  

fastcgi_finish_request()是一个PHP功能,可以停止响应   输出。 Web服务器立即开始慢慢地转移响应   遗憾的是“对客户端而言,php同时可以做很多有用的事情   查询上下文中的内容,例如保存会话,   转换下载的视频,处理各种统计信息,   等

我自己还没有使用fastcgi_finish_request(),但是如果时间,服务器需要发回到目前为止所做的响应输出,则在PHP脚本中计算此方法的“执行时间”;看起来很清楚,为什么这个功能“消耗”这么多时间,因为它取决于你的服务器和客户端网络连接(例如ping)。

使用本地开发环境时执行时间是否有所不同?