Netty优化-参数优化
1.1 参数调优
参数配置:
-
服务端:
- new ServerBootstrap().option() //配置ServerSocketChannel的参数
- new ServerBootstrap().childOption() //配置SocketChannel的参数
-
客户端:
- new Bootstrap().option() //配置SocketChannel的参数
1)CONNECT_TIMEOUT_MILLIS
-
属于 SocketChannal 参数
-
用在客户端建立连接时,如果在指定毫秒内无法连接,会抛出 timeout 异常
-
SO_TIMEOUT 主要用在阻塞 IO,阻塞 IO 中 accept,read 等都是无限等待的,如果不希望永远阻塞,使用它调整超时时间
@Slf4j
public class TestConnectionTimeout {
public static void main(String[] args) {
NioEventLoopGroup group = new NioEventLoopGroup();
try {
Bootstrap bootstrap = new Bootstrap()
.group(group)
.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 300)
.channel(NioSocketChannel.class)
.handler(new LoggingHandler());
ChannelFuture future = bootstrap.connect("127.0.0.1", 8080);
future.sync().channel().closeFuture().sync(); // 断点1
} catch (Exception e) {
e.printStackTrace();
log.debug(

本文详细介绍了Netty中的关键参数优化,包括连接超时时间、SO_BACKLOG(半连接队列和全连接队列)、ulimit-n(文件描述符限制)、TCP_NODELAY(数据发送延迟)、SO_SNDBUF和SO_RCVBUF(发送接收缓冲区)、内存分配器以及接收缓冲区分配器,帮助开发者提升性能和正确配置网络应用。
最低0.47元/天 解锁文章
1998

被折叠的 条评论
为什么被折叠?



