我正在使用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:我們的請求的最大值將有巨大的有效載荷。