gpt4 book ai didi

java - 在java中查找服务器响应时间

转载 作者:可可西里 更新时间:2023-11-01 16:29:56 27 4
gpt4 key购买 nike

我正在使用第三方服务并使用 httpClient 调用它们。虽然我可以用代码测量请求的总时间

    long startTime = System.currentTimeMillis();        
result = httpClient.execute(request);
long endTime = System.currentTimeMillis();

我的问题是请求的总时间非常长。然而第三方否认这一统计数据。因此,我想要分割网络延迟所花费的时间与花费在第三方服务器上的时间。

有没有办法在java中做到这一点

最佳答案

从您的 Java 代码的角度来看,看不到在服务器上花费的时间与网络 延迟 或传输时间的分割。

要进行正确的计算,您需要

  1. 分析连接以确定平均往返时间和可用网络带宽。
  2. 然后使用 Wireshark 检查网络流量并计算延迟(端到端延迟,与 ping 时间大致相同)、传输延迟(数据大小除以带宽)和服务器响应延迟的大致分割。

这仍然不会告诉您延迟是由于服务器速度慢还是您与代理和延迟流量的服务器之间的原因造成的。例如,终端服务器可能非常快,但响应可能会被防火墙(你的或他们的)延迟,该防火墙进行深度数据包检查并且任务能力不足。它几乎不会影响 ping/traceroute 但会严重延迟大数据流。真正调试这需要与您和服务器之间所有设备的所有者合作,并且可能是一种令人沮丧的体验。

关于java - 在java中查找服务器响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38311074/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com