curl中time_pretransfer的含义是什么?

时间:2018-01-05 13:21:36

标签: curl

我遇到了一个问题:

curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_pretransfer}::%{time_starttransfer}::%{time_total}::%{speed_download} "https://xxx"

当我使用此命令通过公共网络测试http链接时,它返回如下数据:

0.004 1.008 :: :: 1.024 :: 60.805 :: 60.805 :: 0.000

它花了很多时间在time_starttransfer。

所以我的问题是,当time_starttransfer花费很长时间时,它意味着什么?这是网络问题还是服务器问题? time_pretransfer是什么意思,我检查了curl的man页面,它说"从开始到文件传输即将开始"我不太了解。 任何帮助都可以,thx

1 个答案:

答案 0 :(得分:0)

根据 curl performance metrics cheat sheettime_pretransfer 只是 time_connect(仅限 HTTP)或 time_appconnect(仅限 HTTPS)的别名。

在你的情况下,我需要知道数字才能知道是网络问题还是服务器问题。

如果 time_transfer - time_pretransfer 是大数,那么这是服务器问题。服务器已经收到请求。这是服务器准备响应所需的时间。

time_pretransfer 之前的任何事情都更有可能是网络问题而不是服务器问题,除非服务器因大量连接而极度拥塞(不太可能,因为单个服务器可以同时处理数千个连接)。