【App Service】遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的调试小工具

时间:2024-01-21 14:29:53

问题描述

当应用部署到微软云 Azure后,如果遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的时候,有什么好的调试方法呢? 来判断具体时那一段请求耗时呢?

问题解答

当然浏览器本身的开发者工具(F12)就是一种非常好的工具。

【App Service】遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的调试小工具_html

当时,当安装浏览器不方便时,curl 就是一个非常好的工具。

【App Service】遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的调试小工具_html_02

curl 是常用的命令行工具,用来请求 Web 服务器。 它可以帮助查看证书交换情况,请求耗时分布等。

 

比如现在就可以通过如下的指令来分析请求时间分布情况:

curl -w "%{time_namelookup}::%{time_connect}::%{time_appconnect}::%{time_starttransfer}::%{time_total}::%{speed_download}"  https://lbspringapps001-hello-world-app.microservices.azure.cn/

curl 命令的说明:

  • time_namelookup:DNS 域名解析的时候
  • time_connect:TCP 连接建立的时间,就是三次握手的时间
  • time_appconnect:SSL/SSH 等上层协议建立连接的时间,比如 connect/handshake 的时间
  • time_redirect:从开始到最后一个请求事务的时间
  • time_pretransfer:从请求开始到响应开始传输的时间
  • time_starttransfer:从请求开始到第一个字节将要传输的时间
  • time_total:这次请求花费的全部时间

如下图中请求总耗时在200毫秒左右。

【App Service】遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的调试小工具_Azure_03

 

参考资料

curl 的用法指南:https://www.ruanyifeng.com/blog/2019/09/curl-reference.html

curl download: https://curl.se/download.html

 

 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!