Netty 负载测试TCP端口

Netty 负载测试TCP端口,netty,load-testing,Netty,Load Testing,我想加载测试我的Netty(TCP端口5000),Kafka,Storm项目。有人能指出一个产生负载的好工具吗。我看过Jmeter TCP sampler,但据我所知,它需要许多EC2实例来模拟200000个并发用户 我的Netty服务器正在接受端口5000上的短传入TCP请求,而不是http 提前感谢您可以使用基准测试工具。您没有提供项目的任何详细信息,但类似于: wrk -H 'Host: localhost' \ -H 'Accept: text/html,application

我想加载测试我的Netty(TCP端口5000),Kafka,Storm项目。有人能指出一个产生负载的好工具吗。我看过Jmeter TCP sampler,但据我所知,它需要许多EC2实例来模拟200000个并发用户

我的Netty服务器正在接受端口5000上的短传入TCP请求,而不是http

提前感谢

您可以使用基准测试工具。您没有提供项目的任何详细信息,但类似于:

wrk -H 'Host: localhost' \ 
    -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \ 
    -H 'Connection: keep-alive' \ 
    -d 120 -c 256 -t 16 --pipeline 256  YOUR_TESTING_URL

可能适合您的情况。

您可以使用Jmeter测试Tcp。或者你可以创建一个自定义类来生成netty客户端

客户端方法

  @Override
    public void run()  {

        // Configure the client.
        EventLoopGroup group = new NioEventLoopGroup();
        try {


            Bootstrap b = new Bootstrap();
            b.group(group)
                    .channel(NioSocketChannel.class)
                    .option(ChannelOption.TCP_NODELAY, true)
                    .handler(new ChannelInitializer<SocketChannel>() {
                        @Override
                        public void initChannel(SocketChannel ch) throws Exception {
                            ChannelPipeline p = ch.pipeline();
                            // p.addLast(new LoggingHandler(LogLevel.DEBUG));
                            p.addLast(new ClientsHandler2());
                        }
                    });
                // Start the client.
                ChannelFuture f = b.connect(HOST, PORT).sync();
                // Wait until the connection is closed.
                f.channel().closeFuture().sync();



        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            // Shut down the event loop to terminate all threads.
            group.shutdownGracefully();
        }
    }
@覆盖
公开募捐{
//配置客户端。
EventLoopGroup=new NioEventLoopGroup();
试一试{
引导b=新引导();
b、 组(组)
.channel(NioSocketChannel.class)
.option(ChannelOption.TCP_NODELAY,true)
.handler(新的通道初始值设定项(){
@凌驾
public void initChannel(SocketChannel ch)引发异常{
ChannelPipeline p=通道管道();
//p.addLast(新的LoggingHandler(LogLevel.DEBUG));
p、 addLast(新客户端shandler2());
}
});
//启动客户端。
ChannelFuture f=b.connect(主机、端口).sync();
//等待连接关闭。
f、 通道().closeFuture().sync();
}捕捉(中断异常e){
e、 printStackTrace();
}最后{
//关闭事件循环以终止所有线程。
group.ShutdownGracely();
}
}