以下是CentOS上配置Java网络的关键技巧,涵盖系统级和JVM级设置:
修改网络接口参数
编辑 /etc/sysconfig/network-scripts/ifcfg-eth0(接口名可能不同),设置IP、网关、DNS等,例如:
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
重启网络服务:systemctl restart network。
优化内核网络参数
修改 /etc/sysctl.conf,调整TCP缓冲区、连接队列等,例如:
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
net.core.somaxconn=65535
net.ipv4.tcp_tw_reuse=1
生效配置:sysctl -p。
配置防火墙规则
使用 firewall-cmd 开放端口,如:
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload
```。
设置JVM启动参数
java -Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080 -jar app.jar
java -Dsun.net.inetaddr.ttl=60 -Dsun.net.inetaddr.negative.ttl=10 -jar app.jar
java -Djava.net.preferIPv4Stack=true -jar app.jar
```。
通过环境变量配置
编辑 /etc/profile 或 ~/.bashrc,添加:
export JAVA_OPTS="-Dsun.net.inetaddr.ttl=60 -Dhttp.proxyHost=proxy.example.com"
使配置生效:source /etc/profile。
连接池与复用
在Java代码中使用连接池(如HikariCP)减少连接创建开销,或通过JVM参数启用HTTP连接复用:
-Dhttp.maxConnections=100 -Dhttp.keepAlive=true
```。
SSL/TLS优化
配置信任库和密钥库路径,启用TLS 1.2+:
-Djavax.net.ssl.trustStore=/path/to/truststore.jks -Djavax.net.ssl.trustStorePassword=123456
```。
网络监控与调优
使用 ss 或 netstat 监控连接状态,结合 tcpdump 分析流量,针对性优化缓冲区或超时参数。
ping 或 curl 验证网络可达性。ab(Apache Benchmark)或 JMeter 压测接口响应速度。根据实际场景选择配置,生产环境建议先在测试环境验证。