首页  

netty使用技巧     所属分类 netty 浏览量 1372
高低水位设置
客户端频繁发送消息导致发送队列积压,内存增大,响应时间变长
ch.config().setWriteBufferHighWaterMark(10 * 1024 *1024);
日常监控 连接数 网络读写速度

netstat -anp
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      5238/java  

Recv-Q Send-Q

recv-Q  网络接收队列 

send-Q  网络发送队列
对方没有收到或者没有Ack 
如果Send-Q不能很快清零,可能是应用向外发送数据包过快,或者是对方接收数据包不够快。
这两个值通常应该为0


发送端和接收端处理速度不均衡

流量整形 
流量整形 VS 流控
流控会拒绝消息,流量整形不拒绝和丢弃消息,无论接收量多大,它总能以近似恒定的速度发消息

ChannelPipeline pipeline = ch.pipeline();
ch.pipeline().addLast("channelTrafficShaping", new ChannelTrafficShapingHandler(1024 * 1024, 1024 * 1024, 1000));
pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));  
pipeline.addLast("decoder", new StringDecoder());  
pipeline.addLast("encoder", new StringEncoder()); 
pipeline.addLast(bizGroup,new EchoServerHandler());
        
public ChannelTrafficShapingHandler(long writeLimit,long readLimit, long checkInterval)

上一篇     下一篇
eclipse使用用技巧

netty ByteBuf 实战

netty ByteBuf 泄露实例

vert.x介绍

基于netty实例演示NIO BIO 异步和同步

netty读写流量统计实例