我正在使用netty-4.0.32.Final。以下是我的频道配置。Netty对POST请求上的巨大负载执行缓慢
EventLoopGroup elGroup = new NioEventLoopGroup();
bootstrap = new ServerBootstrap();
bootstrap.group(elGroup).channel(NioServerSocketChannel.class).option(ChannelOption.SO_BACKLOG, 15000)
.option(ChannelOption.SO_REUSEADDR, true)
.option(ChannelOption.MAX_MESSAGES_PER_READ, Integer.MAX_VALUE).option(ChannelOption.TCP_NODELAY, true)
.option(ChannelOption.SO_RCVBUF, Integer.MAX_VALUE)
.option(ChannelOption.SO_SNDBUF, Integer.MAX_VALUE)
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
p.addLast(new HttpServerCodec());
p.addLast(new HttpObjectAggregator(Integer.MAX_VALUE));
p.addLast(new HttpRequestHandler(router, monitor, fileWriter,kafkaWriter, pluginManager,redisConnectionPool));
}
});
即使我们试图用EpollServerSocketChannel与EpollEventLoopGroup,但我们得到以下结果AB为巨大的有效载荷POST请求。
2858byte - 每秒post.json
要求:3452.96 [#/秒](平均)每请求
时间:72.402 [毫秒](平均)
然而,当我们减少请求中的有效载荷数据,结果如下。
277byte - 每秒post3.json
要求:10085.06 [#/秒](平均)每请求
时间:24.789 [毫秒](平均)
然而,当我们使GET请求,我们得到下面的结果。每秒
要求:22592.77 [#/秒(平均)每个请求
时间:11.065 [毫秒](平均)
任何人都可以指导我如何才能提高的巨大有效负载的性能POST请求。
P.S:我们的请求的最大值将有巨大的有效载荷。