我想加载测试我的Netty(TCP端口5000),Kafka,Storm项目。有人可以指出一个产生负载的好工具。我看过Jmeter TCP采样器,但据我所知,它需要很多EC2实例来模拟200k并发用户?
My Netty Server正在接受Port 5000 Not http。
上的短传入TCP请求提前致谢
答案 0 :(得分:1)
您可以使用wrk基准测试工具。您没有提供项目的任何细节,但有类似的内容:
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
可能适用于您的情况。
答案 1 :(得分:0)
您可以使用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();
}
}