Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Guzzle getTransferTime()具体测量什么?_Php_Guzzle - Fatal编程技术网

Php Guzzle getTransferTime()具体测量什么?

Php Guzzle getTransferTime()具体测量什么?,php,guzzle,Php,Guzzle,Guzzle支持在请求时通过getTransferTime()返回“传输时间”。间接提到“包括在[请求]数据中的是发送请求所花费的总时间。”我假设这就是他们所说的“传输时间”,因为没有其他定义 现在,这是否真的表明了接收响应所需的时间?为什么有人想测量发送请求所需的时间?这到底是什么意思?请求中确实有大量的准备工作吗?您可以在\GuzzleHttp\Handler\CurlFactory中看到,例如: private static function invokeStats(EasyHandle

Guzzle支持在请求时通过
getTransferTime()
返回“传输时间”。间接提到“包括在[请求]数据中的是发送请求所花费的总时间。”我假设这就是他们所说的“传输时间”,因为没有其他定义


现在,这是否真的表明了接收响应所需的时间?为什么有人想测量发送请求所需的时间?这到底是什么意思?请求中确实有大量的准备工作吗?

您可以在
\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);
}
它对应于旋度的
总时间
,其描述如下:

time_total完整操作持续的总时间,以秒为单位

所以这就是整个过程:发送请求,等待响应,获得响应


\GuzzleHttp\Handler\StreamHandler
中,您可以看到计时器在发送请求之前启动,在收到响应时停止。

发送请求所需的时间是服务器了解您正试图与其通信所需的最短时间。现在您知道,如果传输时间很快,但响应时间很慢,这表明服务器需要一段时间才能响应。基本上,你可以测试你与服务器的链接速度慢还是服务器本身响应慢是个问题。。。传输时间通常与响应时间几乎相同。有没有一种方法可以从Guzzle中获得响应时间,这样我就可以在相同的上下文中进行测试?嗯,似乎我错了,你能得到的唯一信息是传输时间,甚至根据文档,这似乎是估计的。