Java Netty服务器响应时间不一致

Java Netty服务器响应时间不一致,java,tcp,netty,Java,Tcp,Netty,我创建了一个netty tcp客户端和服务器。我计算客户端的总响应时间。当我做负载测试时,我发现每8个请求都需要很长时间。原因可能是什么?任何关于提高性能的建议 Connecting to localhost:9065 PROCESSING TIME [32.508 ms] PROCESSING TIME [1.952 ms] PROCESSING TIME [2.157 ms] PROCESSING TIME [2.818 ms] PROCESSING TIME [1.788 ms] PROC

我创建了一个netty tcp客户端和服务器。我计算客户端的总响应时间。当我做负载测试时,我发现每8个请求都需要很长时间。原因可能是什么?任何关于提高性能的建议

Connecting to localhost:9065
PROCESSING TIME [32.508 ms]
PROCESSING TIME [1.952 ms]
PROCESSING TIME [2.157 ms]
PROCESSING TIME [2.818 ms]
PROCESSING TIME [1.788 ms]
PROCESSING TIME [368.311 ms]
PROCESSING TIME [3.107 ms]
PROCESSING TIME [1.856 ms]
PROCESSING TIME [1.973 ms]
PROCESSING TIME [2.14 ms]
PROCESSING TIME [2.022 ms]
PROCESSING TIME [1.781 ms]
PROCESSING TIME [1.967 ms]
PROCESSING TIME [411.338 ms]
PROCESSING TIME [3.252 ms]
PROCESSING TIME [1.769 ms]
PROCESSING TIME [1.746 ms]
PROCESSING TIME [4.04 ms]
PROCESSING TIME [1.758 ms]
PROCESSING TIME [1.81 ms]
PROCESSING TIME [1.817 ms]
PROCESSING TIME [1.686 ms]
PROCESSING TIME [317.336 ms]
PROCESSING TIME [3.084 ms]
PROCESSING TIME [3.624 ms]
PROCESSING TIME [3.147 ms]
PROCESSING TIME [1.95 ms]
PROCESSING TIME [2.16 ms]
PROCESSING TIME [1.987 ms]
PROCESSING TIME [1.9 ms]
PROCESSING TIME [335.572 ms]
PROCESSING TIME [1.835 ms]
PROCESSING TIME [1.707 ms]
PROCESSING TIME [1.896 ms]
PROCESSING TIME [3.084 ms]
我的客户端代码使用netty 5.0.0.Alpha2,服务器使用netty 4.0.30.Final

我的客户端代码与

我的服务器代码是

    final EventLoopGroup parentGroup = new NioEventLoopGroup(5);
    final EventLoopGroup childGroup = new NioEventLoopGroup();
    try
    {
        final ServerBootstrap b = new ServerBootstrap();
        b.group(parentGroup, childGroup).channel(NioServerSocketChannel.class).option(ChannelOption.SO_BACKLOG, 100).handler(new LoggingHandler(LogLevel.INFO))
                .childHandler(new ChannelInitializer<SocketChannel>()
                {
                    @Override
                    public void initChannel(final SocketChannel ch) throws Exception
                    {
                        final ChannelPipeline p = ch.pipeline();
                        if (sslCtx != null)
                        {
                            p.addLast(sslCtx.newHandler(ch.alloc()));
                        }
                        NettyServer.this.framer = (Framer) Class.forName(NettyServer.this.manifest.getFramingConfig()).newInstance();
                        NettyServer.this.headerClass = Class.forName(NettyServer.this.manifest.getHeaderConfig());

                        final NettyServerHandler nettyServerHandler = new NettyServerHandler(NettyServer.this.moduleName, NettyServer.this.framer, NettyServer.this.headerClass,
                                NettyServer.this.requestProcessor.clone());
                        p.addLast(nettyServerHandler);
                    }
                });

        // Start the server.
        final ChannelFuture f = b.bind(this.port).sync();

        // Wait until the server socket is closed.
        f.channel().closeFuture().sync();
    }
    finally
    {
        // Shut down all event loops to terminate all threads.
        parentGroup.shutdownGracefully();
        childGroup.shutdownGracefully();
    }
final EventLoopGroup parentGroup=new NioEventLoopGroup(5);
final EventLoopGroup childGroup=new NioEventLoopGroup();
尝试
{
final ServerBootstrap b=新的ServerBootstrap();
b、 组(parentGroup,childGroup).channel(NioServerSocketChannel.class).option(ChannelOption.SO_BACKLOG,100).handler(新的LoggingHandler(LogLevel.INFO))
.childHandler(新的通道初始值设定项()
{
@凌驾
public void initChannel(最终SocketChannel ch)引发异常
{
最终管道p=通道管道();
如果(sslCtx!=null)
{
p、 addLast(sslCtx.newHandler(ch.alloc());
}
NettyServer.this.framer=(framer)Class.forName(NettyServer.this.manifest.getFramingConfig()).newInstance();
NettyServer.this.headerClass=Class.forName(NettyServer.this.manifest.getHeaderConfig());
final NettyServerHandler NettyServerHandler=新的NettyServerHandler(NettyServer.this.moduleName,NettyServer.this.framer,NettyServer.this.headerClass,
NettyServer.this.requestProcessor.clone());
p、 addLast(nettyServerHandler);
}
});
//启动服务器。
final ChannelFuture f=b.bind(this.port).sync();
//等待服务器套接字关闭。
f、 通道().closeFuture().sync();
}
最后
{
//关闭所有事件循环以终止所有线程。
parentGroup.shutdownGracefully();
childGroup.shutdownGracefully();
}

您的管道和引导配置是什么?您对如何实现客户机/服务器有何见解?