我的应用程序正在与一个服务通信。该服务提供用户登录、注册、更新功能(IAM service)。因为,这个特性是至关重要的&我们不想影响用户性能,我们将超时设置为500毫秒,考虑到我的应用程序&IAM服务在同一数据中心。
通过分析,我们发现IAM服务平均花费10 - 12毫秒。我的应用程序只是发送请求需要1 - 2毫秒。而且,它不会发生在每个请求中,只会发生在少数请求中。
网络工程师说网络很好&没有泄漏。
请求您的输入来理解,我应该如何继续分析根本原因,以识别哪个组件正在花费时间。
-
确保应用程序和服务是同步的(有相同的时间戳)
-
记录应用程序发送请求的时间戳
- 观察请求到达线路时的时间戳
- 记录服务接收请求时的时间戳
- 记录服务发出响应时的时间戳
- 观察响应到达线路时的时间戳
- 记录应用程序收到响应时的时间戳
下一次超时发生时-检查日志,找出哪两个横向相邻的时间戳的差异超过500ms。现在,一旦您获得了概要信息,请将重点放在导致超时的特定段上。