一个伪linux粉丝的blog

  1. 首页
  2. unix/linux
  3. 正文

curl-w

2月 22, 2020 1320点热度 5人点赞 0条评论

排障过程中发现curl的一个不太常见参数-w,检查 time_appconnect 非常好用,记录一下。

接到用户反馈一个服务容器内部调用一个接口是相当慢会出现卡顿,如图示

2. 新发现

上图2次curl,一次秒出结果,1次无反应,这样的信息其实不全,当然想查看明细,网上找了一圈,发现了1个非常有用的参数。

-w 格式化输出  https://curl.haxx.se/docs/manpage.html#-w

https://cizixs.com/2017/04/11/use-curl-to-analyze-request/

 

2.1. 格式如下:

1
2
3
4
5
6
7
8
9
10
11
<span class="line">cat curl-format.txt</span>
<span class="line">    time_namelookup:  %{time_namelookup}\n</span>
<span class="line">       time_connect:  %{time_connect}\n</span>
<span class="line">    time_appconnect:  %{time_appconnect}\n</span>
<span class="line">      time_redirect:  %{time_redirect}\n</span>
<span class="line">   time_pretransfer:  %{time_pretransfer}\n</span>
<span class="line"> time_starttransfer:  %{time_starttransfer}\n</span>
<span class="line">                    ----------\n</span>
<span class="line">         time_total:  %{time_total}\n
 
</span>

  • time_namelookup: DNS解析时间
  • time_connect:tcp建联时间
  • time_appconnect:SSL/SSH 等上层协议建立连接的时间,比如 connect/handshake 的时间。注意,即使curl语句中带有-k参数(忽略证书校验),这一项时间仍然存在,因为-k只是忽略证书的校验,本身SSL握手仍然存在。
  • time_redirect:从开始到最后一个请求事务的时间
  • time_pretransfer:从请求开始到开始传输的时间
  • time_total:这次请求花费的全部时间

 

3. 实际操作

本次检查命令如下

curl -w "@curl-format" -o /dev/null -s https://域名打码.com:9443/receiveHTTPData

2020-11-13新增改进版

alias curltime="curl -w \"@curl-format\" -o NUL -s "
下次就可以直接 curltime blog.wanjie.info 出结果了

网上说windows下 也行,没试了

1
curl -w "@%~dp0curl-format.txt" -o NUL -s %*

3.1. 正常结果

响应正常时,0.6秒完成全过程。

 

3.2. 异常结果

异常时,20多秒完成全过程。其中耗时最大的是 time_appconnect这一段,即 SSL/SSH 等上层协议建立连接的时间,比如 connect/handshake 的时间。

后来多次容器内外,甚至本地电脑测试,结果相同。

4. 理论图解


找到了cloudflare关于一次访问各段花费时间描述说明,如下图


更多详情可以参考这里 https://blog.cloudflare.com/a-question-of-timing/

相关文章:

  1. LAMP 系统性能调优,第 1 部分: 理解 LAMP 架构
  2. 站点启用https
  3. docker-upgrade
  4. k8s multi cluster management with kubeconfig
标签: curl
最后更新:11月 13, 2020

wanjie

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

取消回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。

归档
分类
  • network / 324篇
  • Uncategorized / 116篇
  • unix/linux / 114篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 20篇
  • 英语学习 / 3篇
标签聚合
wget jira k8s debian Android VPS Opera Mini 刷机 d90 Google Voice kernel 中国电信 gitlab ldap iMac Google dreamhost Google Adwords Nginx brew 泰国 nexus 虚拟主机 dreamhost空间 网通 邮件归档 Linux docker 网站运营 Ubuntu

COPYRIGHT © 2008-2022 wanjie.info. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang