如果您調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、串連/會話複用問題,需要進一步確認網路鏈路本身的問題。 | 根據第二步的網路耗時分析,請優先聯絡您的營運同學協助分析。 如果仍未能解決,請提供如下資訊,聯絡我們進行支援:
|