我有一个 Scala 应用程序,它使用 Finagle HTTP 客户端每秒向代理后面的 10 个外部 HTTP API 发出多达 2k 个请求。
我已将每个外部主机的连接池大小配置为 2000*10(10 秒是请求超时),但我不确定这是否是有效的配置。
我没有深入的 TCP/IP 知识,但我想知道 JVM 应用程序可以与一台远程主机建立多少个 HTTP 连接以及它可以建立多少个总体传出连接是否有最大限制?限制背后的因素是什么?我有一个模糊的内存,它可能与可用的 TCP 端口有关,但不太确定。
最佳答案
JVM 不限制连接数。但存在操作系统限制:
- 每个本地 IP 地址 ( usually less ) 的连接不超过 65536 个;
- 且不超过文件描述符的最大数量,
请参阅ulimit -n
与/proc/sys/fs/file-max
关于http - JVM 应用程序可以建立的最大传出 HTTP 连接数是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59752282/