【问题标题】:Network limits to calling HTTP APIs?调用 HTTP API 的网络限制?
【发布时间】:2013-10-24 06:11:02
【问题描述】:

这是一个假设的情况:

假设我正在通过数据集在单个线程中进行迭代,并对 Web 上的某些 API 的每个条目进行 HTTP 调用。假设 API 不使用限制,我是否应该期望调用不会降低性能?例如,当我遍历条目时(由于各种原因,可能与网络相关),我是否会开始看到失败的累积,还是一切都可以预料到?

现在,假设我开始使用线程池进行上述迭代。我想每个线程都会打开一个到目的地的出站端口。什么决定了我可以用来调用相同 API 的最大线程数?随着线程数的增加,性能或成功率会如何下降?

【问题讨论】:

    标签: multithreading api networking network-programming httprequest


    【解决方案1】:

    不确定这是否仍然相关,但无论如何: 在场景 a) 中,我预计不会有任何负面影响,因为您在任何时候都只会运行一个请求/响应。所以吞吐量时间应该只取决于你的服务器处理请求的速度。

    在场景 b) 中,一个限制是您的客户端(即操作系统)在任何给定时间可以打开的最大连接数(tcp 或 udp)。当然,这同样适用于另一方。如果这个数字不是限制因素,我希望服务器会因一定数量的请求而关闭。您将创建自己的 DoS 攻击 ;-)

    【讨论】:

      猜你喜欢
      • 2013-02-14
      • 2017-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 2018-05-04
      相关资源
      最近更新 更多