Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Webflux应用程序、并发传出连接(理论上和配置参数)_Java_Spring Webflux_Spring Webclient - Fatal编程技术网

Java Webflux应用程序、并发传出连接(理论上和配置参数)

Java Webflux应用程序、并发传出连接(理论上和配置参数),java,spring-webflux,spring-webclient,Java,Spring Webflux,Spring Webclient,我有一个Webflux应用程序,它接受传入的json请求并返回flux响应。每个请求依次使用Webclient向另一个微服务发起请求 这样的webflux应用程序可以处理多少并发请求,这样的WebClient可以发出多少并发请求?更重要的是,是否有任何reactor/netty/webflux配置参数可帮助确定可处理的并发请求数 应用程序主要是I/O绑定的,几乎所有的延迟都来自通过webclient发出的请求。这是一台具有16GB内存的四核机器 (已编辑)-我基本上希望了解生成了多少线程、此类应

我有一个Webflux应用程序,它接受传入的json请求并返回flux响应。每个请求依次使用Webclient向另一个微服务发起请求

这样的webflux应用程序可以处理多少并发请求,这样的WebClient可以发出多少并发请求?更重要的是,是否有任何reactor/netty/webflux配置参数可帮助确定可处理的并发请求数

应用程序主要是I/O绑定的,几乎所有的延迟都来自通过webclient发出的请求。这是一台具有16GB内存的四核机器


(已编辑)-我基本上希望了解生成了多少线程、此类应用程序中的线程模型以及Netty提供的配置参数。注意-我不希望实际获得设置的吞吐量/延迟数字(我可以,并且已经对应用程序进行了负载测试)

如果阅读源代码,您会发现以下内容

/**
 * Default max connections. Fallback to
 * available number of processors (but with a minimum value of 16)
 */
int DEFAULT_POOL_MAX_CONNECTIONS =

Integer.parseInt(System.getProperty(ReactorNetty.POOL_MAX_CONNECTIONS,
        "" + Math.max(Runtime.getRuntime().availableProcessors(), 8) * 2));
最大连接数由参数设置:

reactor.netty.pool.maxConnections
如果未设置,则默认为

可用处理器数量(但最小值为16)

在这里,您将找到更多当前默认值

在这里可以找到所有定义的参数及其名称

但据《华盛顿邮报》报道,Netty 1.0.x版本的默认设置将更改为:

最多500个连接

1000挂起获取最大计数

45s等待获取超时


这是您的应用程序和硬件,为什么不进行负载测试呢?我们能提供的所有数字都只是猜测,只有你能得到真实的数字。作为一个负载测试工具,可能会对您有所帮助。@knittl-我已经对它进行了负载测试,发现吞吐量最大为40个req/s,并且它似乎同时发出了40个请求。我认为这更多地与配置参数和理解线程的理论数量有关