网民工作者和老板线程配置性能问题

时间:2018-11-20 21:10:53

标签: java multithreading performance netty reactor-netty

环境- 净值4.1.16。 Java 8

创建了一个服务器,定义了2个老板和8个工作线程以及100个业务处理程序线程,

EventLoopGroup bossGroup = new NioEventLoopGroup(2);
EventLoopGroup workerGroup = new NioEventLoopGroup(8);
final EventExecutorGroup handlerThread = new DefaultEventExecutorGroup(100); 
ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap.group(bossGroup, workerGroup);
bootstrap.channel(NioServerSocketChannel.class);
bootstrap.childHandler(new ChannelInitializer<SocketChannel>() {
  @Override
  protected void initChannel(SocketChannel ch) throws Exception {
    ChannelPipeline pipeline = ch.pipeline();
    pipeline.addLast(new NettyDecoder()); 
    pipeline.addLast(new NettyEncoder());
    pipeline.addLast(handlerThread,"serverHandler",new ServerHandler()); 
  }
});

问题是我在这种配置下无法获得性能。我的服务器仅在1秒内处理35个请求。

如果我更改boss线程= 1和worker线程= 1,那么响应大小也相同。在这种情况下,也可以处理35个请求。

我担心线程是否正常工作?

问题是针对1个工作线程,它可以处理35个请求,因此我已经配置了8个工作线程,因此它应该在1秒内处理36 * 8 = 288个请求。

我的网民很新。请帮助。预先感谢

0 个答案:

没有答案