我正在为特定的SOAP API编写客户端。我的执行时间很长,因此联系了API主人,他告诉我:
从两个计算的GetPrices调用的平均持续时间调用 存储呼叫持续时间的源显示平均持续时间 在整整5天里,下注者称我们的系统刚刚结束 25毫秒,与大多数下注者的平均值相匹配 同一时期。这两个来源是Sentry Logs 计算所有应用程序之间的调用持续时间 组件和从IISLogs中获取的时间包括 从我们的API服务器到下注者呼叫机器的传输时间。
对于相同GetPrices调用的完全相同的5天,我的平均值为0.08-0.1s,这比服务器日志显示的长4倍。
我的测量值与API拥有者测量值之间存在如此高差异的原因可能是什么?
我衡量执行时间的方式非常简单:
start_time = time.time()
# GetPrices call
end_time = time.time() - start_time
如果我能提供其他任何内容,请告诉我。
答案 0 :(得分:2)
请考虑下表。
简而言之,您考虑的是服务器工作负载,服务器不会。
{{1}}
如果你能够在 ack 点开始/停止计时,你的时间差异会变小。
答案 1 :(得分:0)
网络延迟,查询到达服务器所需的时间以及收到回复所需的时间如何? 您是否进行了网络跟踪,通常您可以在tcp标头中查看此原因,发送时间存储,您可以使用网络监视器(或其替换)或wireshark。分析这个。
简短的延迟测试就是在Windows上进行路径化。