用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 用于格式化输出想要的时间信息。
读后有收获,小礼物走一走,请作者喝咖啡。
Buy me a coffee. ☕Get red packets.作者:楼兰胡杨
本文版权归作者和博客园共有,欢迎转载,但请注明原文链接,并保留此段声明,否则保留追究法律责任的权利。

浙公网安备 33010602011771号