用curl测网速统计访问耗时

  在《从基础到高级,带你结合案例深入学习curl命令》中,介绍了curl的使用方法,这里介绍一个用于统计响应耗时的最佳实践,助力老铁们合理设置网络超时时间。

  下面介绍一个用于统计访问某个URL耗时的常用组合技能命令,例如线上环境遇到502 Bad Gateway问题或者java.net.SocketTimeoutException异常,就可以用它确认请求链路是否拥堵。要查看 curl 请求的耗时,可以使用 -w 或 --write-out 选项来输出详细的时间统计信息。以下是一些常用的变量,可以用于查看请求的各个阶段的耗时(以秒为单位):

  • url_effective:跟踪重定向后的URL地址;
  • time_namelookup:DNS解析耗时;
  • time_connect:建立连接所消耗的时间,就是TCP三次握手的耗时;
  • time_pretransfer:从请求开始到响应开始传输的耗时;
  • time_starttransfer:从请求开始到第一个字节即将被传输的耗时;
  • time_redirect:从开始到最后一个请求事务的耗时;
  • time_total:统计整个请求花费的全部耗时。

  例如,以下命令将输出访问https://www.cnblogs.com/east7的耗时情况:

curl -o /dev/null -s -w "Testing website response time for: %{url_effective}\nDNS解析耗时: %{time_namelookup}\n连接耗时: %{time_connect}\n开始传输耗时: %{time_starttransfer}\n总耗时: %{time_total}\n" https://www.cnblogs.com/east7

统计网络访问耗时

  在上述案例中,-o /dev/null 用于屏蔽输出内容,-s 用于以静默模式隐藏进度条,-w 用于格式化输出想要的时间信息。

posted @ 2025-02-27 10:04  楼兰胡杨  阅读(388)  评论(0)    收藏  举报