确定网络请求期间耗时因素

确定网络请求期间耗时因素

情况:

  • 有一个远程服务器。
  • 我正在运行一个客户端程序,该程序调用服务器并请求数据。
  • 这些请求执行非常慢。
  • 服务器将结果数限制为 50,其余结果分页。因此,如果总共有 300 个结果,我必须总共发出 6 个单独的请求。
  • (根据 James 的评论)数据是 JSON 文本格式。
  • (根据 James 的其他评论)该连接是 https(SSL)连接。

服务器所有者提出增加每页的结果数量,以便我可以发出更少的请求。

虽然我认为这会有所帮助,但我担心它仍然无法使交易速度足够快,无法满足我的目的。我想知道:如果问题不是服务器检索数据的开销怎么办?如果对性能的最大影响是由于网络带宽和延迟怎么办?

我该如何解决这个问题?我根本无法访问服务器。假设一个请求需要 3 秒才能完成。然后:

  1. 这 3 秒中的多大一部分用于打开 TCP 连接?
  2. 发送请求数据花费了多少部分?
  3. 等待服务器检索数据所花的时间有多少?
  4. 等待所有请求的数据到达我的机器需要花多少时间?

我真的不想必须使用自己的 TCP/IP 代码来获取测量此类事物所需的低级访问权限。

我确信一定有专门为此编写的工具。当我在 Google 上搜索时,我看到了 netstat、ss、netperf、ttcp 等程序。但我甚至不知道在 Google 搜索中应该使用哪些词来寻找此问题的解决方案。

有任何想法吗?

相关内容