Netty NioClientSocketChannelFactory - 高效的构造函数参数

时间:2012-10-13 21:31:40

标签: netty

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

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

我有一个ClientBootstrap和Channel,我正在向不同的主机写入多个请求,而不是设置和引导选项。作为一个例子,我可能正在使用迭代器推送100个请求。

我该如何配置? 我尝试过单一和缓存池执行器的不同组合,最多只有1或100个工作者。以下是一些例子:

  1. 当使用单个执行程序和1个工作程序时,它似乎提供了多线程请求,但是当将计数设置为100时,它显示为单线程
  2. 使用缓存池执行程序时,将计数设置为1似乎也更有效。增加工人数量似乎会使其变慢。
  3. 那么......基于是否需要数百个或更多的并发请求,我应该如何配置工厂以获得最佳性能?

1 个答案:

答案 0 :(得分:1)

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

... = new NioClientSocketChannelFactory();