http - 两台服务器之间同一域的最大并发 http 连接数

标签 http concurrency server limit

我有一个运行的 Tomcat 服务器连接到另一个 Tableau 服务器。我需要从 Tomcat 到 Tableau 进行大约 25 次 GET 调用。现在我正在尝试将其线程化并让每个线程创建自己的 HTTP 连接对象并进行调用。在我的本地系统(本地 Tomcat,远程 Tableau)上,我注意到在这种情况下我的每个线程平均需要大约 10 秒,所以总共需要 10 秒。

但是,如果我按顺序执行此操作,则每个请求需要 2 秒,因此总共需要 50 个。

我的疑问是,在并行发出请求时,为什么每个请求都需要超过 2 秒,而按顺序完成只需要 2 秒?

这与从一个客户端(浏览器)到同一域的最大并发连接数有什么关系吗?但这里的请求来 self 的 Tomcat 服务器,而不是浏览器。

如果是,默认规则是什么,有什么办法可以改变吗?

最佳答案

在我看来,它最有可能 Context Switching Overhead系统必须处理每个请求,这就是为什么您会看到单个请求的时间更长(与一个顺序线程相比),但整体处理却有显着提高。

上下文切换开销与整体事件所花费的时间相比可以忽略不计时,进行并行处理是有意义的。

关于http - 两台服务器之间同一域的最大并发 http 连接数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39971908/

相关文章:

java - HAL+JSON 的正确媒体类型是什么?

c# - 如何处理 HTTPHandler 中的异常?

java - java中的ManagedExecutorService和ExecutorService有什么区别

java - 为什么在类 jsr166e.Striped64.Cell 中对值字段进行额外填充?

http - 监听随机 IP 的自定义 HTTP 服务器

http - 浏览器中的本地 HTTP 重定向

http - 如何确定移动浏览器是否支持元刷新?

java - 阻塞 BufferedReader 直到数据出现

django - 简单的 django channel 应用程序未与 daphne 一起运行

python - 如何使用 windows python ping 服务器/网站?