如果您调ID Verification提供的服务端接口耗时过高,你可以参考下面的方式进行排查和优化。
前提条件
请确认您统计的耗时仅包含调用ID Verification接口,不包含其他高耗时逻辑。
请确认耗时高的现象可以稳定复现,排除偶发性网络或机器抖动。
网络耗时分析
首先确认您调用ID Verification的服务接入地址:
中国香港:
cloudauth-intl.cn-hongkong.aliyuncs.com新加坡:
cloudauth-intl.ap-southeast-1.aliyuncs.com
使用
ping命令,如 ping cloudauth-intl.cn-hongkong.aliyuncs.com 检查基础连通性,以及初步评估网络链路延迟,排除基础的网络问题。使用
curl命令,进行全链路耗时分析,以下命令可用于分析到目标服务接入地址的DNS解析、TCP链接、SSL握手等链路节点的耗时:说明测试时请将服务接入地址替换为实际使用的服务接入地址。
curl -w "DNS解析: %{time_namelookup}s TCP连接: %{time_connect}s SSL握手: %{time_appconnect}s 请求准备: %{time_pretransfer}s 响应首包: %{time_starttransfer}s 总耗时: %{time_total}s" -o /dev/null -s "https://cloudauth-intl.cn-hongkong.aliyuncs.com"
常见问题与优化方案
常见问题 | 原因 | 优化方案 |
DNS耗时高 | DNS本身有LocalDNS缓存,但缓存时间一般为几分钟,如果您的调用量少于几分钟一笔,可能会出现LocalDNS缓存失效,走到远程权威服务器去解析,导致耗时高。通过上述的curl 命令,可能会出现DNS解析耗时高。 | 请联系您的服务器运维,开启域名缓存保持机制,配置上ID Verification的域名,类似阿里云的域名缓存机制:添加缓存保持域名。 |
连接复用未生效 | 如果您的请求频率少于几秒一笔,并且在短时间连续的请求中,总是第一笔请求慢,后续请求快,可能是连接复用未生效,导致每次请求都创建新的连接和会话。 | 可以创建一个5S的定时任务,调用KeepAliveIntl空逻辑接口,让连接持续保持。 |
其他网络链路问题 | 排除以上的DNS、连接/会话复用问题,需要进一步确认网络链路本身的问题。 | 根据第二步的网络耗时分析,请优先联系您的运维同学协助分析。 如果仍未能解决,请提供如下信息,联系我们进行支持:
|