HTTP接口在业务中速度较慢,使用curl进行排查
1. 准备文件模版(curl.txt)
\n
time_namelookup: %{time_namelookup}\n
time_connect: %{time_connect}\n
time_appconnect: %{time_appconnect}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
----------\n
time_total: %{time_total}\n
\n
2. 使用curl带以下参数请求
curl -w "@curl.txt" -o /dev/null -s https://api.example.com
结果
[@ ~]# curl -w "@curl" -o /dev/null -s https://api.example.com
time_namelookup: 0.004
time_connect: 0.014
time_appconnect: 0.141
time_pretransfer: 0.141
time_redirect: 0.000
time_starttransfer: 0.153
----------
time_total: 0.165
3. 参数说明
- NAMELOOKUP:从开始计算,域名解析完成的耗时
CURLINFO_NAMELOOKUP_TIME. The time it took from the start until the name resolving was completed.
- CONNECT:从开始计算,TCP建立完成的耗时
CURLINFO_CONNECT_TIME. The time it took from the start until the connect to the remote host (or proxy) was completed.
- APPCONNECT:从开始计算,应用层(SSL,在TCP之上的应用层)连接/握手完成的耗时
CURLINFO_APPCONNECT_TIME. The time it took from the start until the SSL connect/handshake with the remote host was completed. (Added in in 7.19.0)
- PRETRANSFER:从开始计算,准备开始传输数据的耗时
CURLINFO_PRETRANSFER_TIME. The time it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.
- STARTTRANSFER:从开始计算,开始传输数据的耗时(libcurl接收到第一个字节)
CURLINFO_STARTTRANSFER_TIME. The time it took from the start until the first byte is received by libcurl.
- TOTAL:总的耗时
CURLINFO_TOTAL_TIME. Total time of the previous request.
- REDIRECT:整个过程重定向的耗时,如果整个过程没有重定向,这个时间为0
文章来源于互联网,原地址https://www.cnblogs.com/lnlvinso/p/9775484.html