0

我正在使用 netty 发送多个客户端请求,并且想知道如何最好地配置 NioClientSocketChannelFactory。IE:

NioClientSocketChannelFactory.NioClientSocketChannelFactory(Executor bossExecutor, Executor workerExecutor, int workerCount)

我有一个 ClientBootstrap 和 Channel,并且正在向不同的主机写入多个请求,并且没有设置和引导选项。例如,我可能会使用迭代器推送 100 个请求。

我应该如何配置这个?我已经尝试了单个和缓存池执行器的不同组合,最多有 1 个或 100 个工人。这里有些例子:

  1. 当使用单个执行程序和 1 个工作人员时,它似乎提供了多线程请求,但是当将计数设置为 100 时,它似乎是单线程的
  2. 使用 Cached Pool Executor 时,将计数设置为 1 似乎也更有效。增加工人数量似乎会使其变慢。

那么......我应该如何根据需要数百或更多并发请求来配置工厂以获得最佳性能?

4

1 回答 1

1

最好的办法是使用缓存线程池,让 Netty 根据可用处理器决定工作人员数量,或者简单地:

... = new NioClientSocketChannelFactory();
于 2012-10-14T11:57:21.727 回答