【Netty源码解读和权威指南】第62篇:Netty生产环境部署——Linux最佳配置指南

📅 2026/6/25 22:28:52
【Netty源码解读和权威指南】第62篇:Netty生产环境部署——Linux最佳配置指南
上一篇【第61篇】Netty性能调优——从10万到100万连接的优化之路下一篇【第63篇】Netty压测与性能基准——Wrk/JMH实战测量吞吐量一、系统优化脚本#!/bin/bash# 文件描述符echo* soft nofile 1000000/etc/security/limits.confecho* hard nofile 1000000/etc/security/limits.conf# 内核参数cat/etc/sysctl.confEOF net.core.somaxconn 4096 net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_fin_timeout 30 net.ipv4.tcp_max_syn_backlog 8192 net.ipv4.tcp_max_tw_buckets 5000 net.core.rmem_max 16777216 net.core.wmem_max 16777216 EOFsysctl-p二、systemd服务配置# /etc/systemd/system/netty-server.service [Unit] DescriptionNetty Application Server Afternetwork.target [Service] Typesimple Userapp WorkingDirectory/opt/app ExecStart/usr/bin/java -Xmx4g -Xms4g -jar app.jar ExecStop/bin/kill -TERM $MAINPID Restarton-failure RestartSec10 # 优雅关闭 TimeoutStopSec120 KillSignalSIGTERM [Install] WantedBymulti-user.target三、JVM启动脚本#!/bin/bashJAVA_OPTS-Xmx4g -Xms4gJAVA_OPTS$JAVA_OPTS-XX:UseG1GCJAVA_OPTS$JAVA_OPTS-XX:MaxGCPauseMillis200JAVA_OPTS$JAVA_OPTS-XX:HeapDumpOnOutOfMemoryErrorJAVA_OPTS$JAVA_OPTS-XX:HeapDumpPath/opt/logs/heap.hprofJAVA_OPTS$JAVA_OPTS-Dio.netty.leakDetection.levelSIMPLEJAVA_OPTS$JAVA_OPTS-Dio.netty.allocator.numHeapArenas4# OOM自动重启JAVA_OPTS$JAVA_OPTS-XX:OnOutOfMemoryErrorkill -9 %pjava$JAVA_OPTS-jarapp.jar四、应用内优雅关闭publicclassShutdownHook{publicstaticvoidregister(EventLoopGroup...groups){Runtime.getRuntime().addShutdownHook(newThread(()-{System.out.println(收到SIGTERM开始优雅关闭...);for(EventLoopGroupg:groups){g.shutdownGracefully(30,10,TimeUnit.SECONDS);}System.out.println(服务器已关闭);}));}}五、监控指标// 暴露Netty指标ComponentpublicclassNettyMetrics{publicMapString,ObjectgetMetrics(){returnMap.of(boss.active,bossGroup.next().pendingTasks(),worker.size,workerGroup.executorCount(),pool.heap.used,PooledByteBufAllocator.DEFAULT.metric().usedHeapMemory(),pool.direct.used,PooledByteBufAllocator.DEFAULT.metric().usedDirectMemory());}}六、总结维度关键配置文件描述符ulimit -n 1000000TCP参数somaxconn, tw_reuse服务管理systemd KillSignalSIGTERMJVMG1GC OOM自动dump上一篇【第61篇】Netty性能调优——从10万到100万连接的优化之路下一篇【第63篇】Netty压测与性能基准——Wrk/JMH实战测量吞吐量