TrafficShapingHandler似乎不起作用

时间:2018-11-15 15:32:30

标签: java netty bandwidth-throttling trafficshaping

我正在尝试在Netty中实现一个使用GlobalTrafficShapingHandler的TCP Server,速度约为100KB / s。它读取XML消息,每条消息大约1KB。

我有一个单独的应用程序在全速触发xml,但是它似乎并不受TrafficShaper的限制。

主类

    this.throttleHandler = new GlobalTrafficShapingHandler(
            Executors.newScheduledThreadPool(1),
            100*ONE_KB,
            100*ONE_KB,
            5000);
private ServerBootstrap createStreamingServer() {
    return new ServerBootstrap()
            .group(bossGroup, workerGroup)
            .channel(NioServerSocketChannel.class)
            .childHandler(new ChannelInitializer<SocketChannel>() {
                  ChannelPipeline pipeline = ch.pipeline();
                  pipeline.addLast("bandwitdh-handler", this.throttleHandler);
                  pipeline.addLast("xml-decoder", new XmlFrameDecoder(1048576);
                  pipeline.addLast("string-decoder", new StringDecoder());
                  pipeline.addLast("inputHandler", new SimpleChannelInboundHandler() {
                      //DO STUFF
                  }
                  pipeline.addLast("string-encoder", new StringEncoder());
            }
}

似乎完全没有减慢带宽,并且我在任一方向上以大约1MB / s的速度读取吞吐量。有人知道是什么原因造成的吗?

0 个答案:

没有答案