【问题标题】:Netty NioClientSocketChannelFactory - Efficient Constructor ParametersNetty NioClientSocketChannelFactory - 高效的构造函数参数
【发布时间】:2012-10-04 08:08:02
【问题描述】:

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

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

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

我应该如何配置它? 我尝试了单个和缓存池执行器的不同组合,最多有 1 个或 100 个工人。以下是一些示例:

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

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

【问题讨论】:

    标签: netty


    【解决方案1】:

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

    ... = new NioClientSocketChannelFactory();
    

    【讨论】:

    • 假设你的意思是“new NioClientSocketChannelFactory(Executor bossExecutor, Executor workerExecutor)”??
    • @thomascrabs 不,我的意思是我写的。该构造函数将为老板和工人使用缓存的执行程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    相关资源
    最近更新 更多