Guzzle支持根据请求通过getTransferTime()
返回“传输时间”。 documentation间接提到“ [请求]数据中包含的是发送请求所花费的总时间。”我假设这就是“传输时间”的含义,因为没有其他定义。
现在,这是否真的表明接收响应所花费的时间?为什么有人要衡量发送请求所花费的时间?那有什么意思?请求中是否真的有大量准备工作?
答案 0 :(得分:0)
例如,您可以在\GuzzleHttp\Handler\CurlFactory
中看到
private static function invokeStats(EasyHandle $easy)
{
$curlStats = curl_getinfo($easy->handle);
$stats = new TransferStats(
$easy->request,
$easy->response,
$curlStats['total_time'],
$easy->errno,
$curlStats
);
call_user_func($easy->options['on_stats'], $stats);
}
它对应于卷曲的total_time
,描述为:
time_total完整操作持续的总时间(以秒为单位)。
这就是整个过程:发送请求,等待响应,获取响应。
在\GuzzleHttp\Handler\StreamHandler
中,您可以看到计时器在发送请求之前已启动,并在收到响应后停止。