質問1:
ワークロード ジェネレーター クライアントでタイマーを使用して、メッセージをサーバーにストリーミングしています。作成されたスレッドの数または Channel の共有で複数の timertasks を使用することの影響はありますか?
これが負荷を生成するための好ましいアプローチであるかどうかを理解したいです。このように、他の指数関数的遅延または他のタイプの遅延が発生する可能性があります。
public class TestClientHandler extends SimpleChannelHandler {
private Timer timer = new HashedWheelTimer();
Channel channel;
public TestClientHandler() {
timer.newTimeout( new DataStreamer( this ),
1000,
TimeUnit.MILLISECONDS );
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) {
e.getCause().printStackTrace();
org.jboss.netty.channel.Channel ch = e.getChannel();
ch.close();
}
@Override
public void channelConnected( ChannelHandlerContext ctx,
ChannelStateEvent e) {
this.channel = e.getChannel();
ChannelFuture future = e.getChannel().write( "SOMETHING" );
}
}
質問2:
リクエストの種類ごとに異なるチャネルを維持するにはどうすればよいですか? 優先順位に基づいたアイデアはありますか? 別のスレッドで議論されているように、OrderAwareMemoryHandler は PriorityBlockingQueue にプラグインするための推奨される方法ですか?