Ubuntu上优化WebLogic网络设置
一 操作系统层优化
文件句柄与进程限制
提升单进程可打开文件数(含套接字)以避免“too many open files”。在 /etc/security/limits.conf 增加(示例为 65536):
* soft nofile 65536
* hard nofile 65536
确保 PAM 加载 limits:在 /etc/pam.d/common-session 或 /etc/pam.d/login 加入
session required pam_limits.so
检查:
ulimit -n
cat /proc/sys/fs/file-max
说明:WebLogic 每个连接、监听套接字、日志文件都会占用文件描述符,高并发需显著上调该值。
TCP端口与本地端口范围
扩大可用本地端口,减少端口耗尽:
sudo sysctl -w net.ipv4.ip_local_port_range="1024 65535"
持久化到 /etc/sysctl.conf:
net.ipv4.ip_local_port_range = 1024 65535
说明:短连接、高并发出站场景尤为关键。
连接跟踪与会话回收(NAT/防火墙环境)
若启用 iptables/nftables 连接跟踪,适当提升最大跟踪连接数并缩短回收:
sudo sysctl -w net.netfilter.nf_conntrack_max=524288
sudo sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=600
持久化到 /etc/sysctl.conf:
net.netfilter.nf_conntrack_max = 524288
net.netfilter.nf_conntrack_tcp_timeout_established = 600
说明:未启用连接跟踪可不设置;值过大增加内核内存占用。
套接字与网络缓冲
提升内核网络缓冲区和 TCP 窗口,适配高带宽/长肥管道:
sudo sysctl -w net.core.rmem_default=262144
sudo sysctl -w net.core.wmem_default=262144
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sudo sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
持久化到 /etc/sysctl.conf。说明:中间值可按 BDP 估算,避免盲目过大。
队列与保活探测
提升突发入站能力与快速回收空闲连接:
sudo sysctl -w net.core.netdev_max_backlog=4096
sudo sysctl -w net.core.somaxconn=4096
sudo sysctl -w net.ipv4.tcp_keepalive_time=1800
sudo sysctl -w net.ipv4.tcp_keepalive_intvl=15
sudo sysctl -w net.ipv4.tcp_keepalive_probes=5
sudo sysctl -w net.ipv4.tcp_fin_timeout=30
持久化到 /etc/sysctl.conf。说明:缩短保活与 FIN 超时有助于更快清理僵死连接,但过小会增加探测流量。
二 WebLogic层网络与协议优化
监听地址与端口绑定
在域目录的 config.xml 明确绑定到内网地址,避免默认绑定到 0.0.0.0 引发的安全与路由隐患:
<server>
<name>AdminServer</name>
<listen-address>192.168.10.20</listen-address>
<listen-port>7001</listen-port>
</server>
说明:多网卡环境建议绑定业务网口 IP。
线程与连接相关调优(控制台或 WLST)
传输层加密与性能权衡
三 架构与周边优化
反向代理与负载均衡
在 WebLogic 前端部署 Nginx/HAProxy/Apache HTTPD 统一承载 TLS、压缩、缓存与静态资源,后端 WebLogic 仅处理动态请求;多实例配合 Session 粘滞或集中式会话存储 提升可用性与扩展性。
网络硬件与拓扑
选用 万兆/25GbE 网卡与低时延交换机,服务器与存储/数据库同网段或缩短路径;跨机房部署考虑 链路聚合(LACP) 与 QoS。
监控与容量规划
持续监控 netstat -s、ss -s、/proc/net/sockstat、dmesg、ulimit -n、线程池指标、RT/吞吐/错误率,结合压测逐步调优;为突发流量预留 20–30% 余量。
四 快速验证与回滚
# 使 sysctl 生效
sudo sysctl -p
# 查看关键指标
ulimit -n
ss -s
netstat -s | egrep "listen|prune|drop"
cat /proc/net/sockstat
五 注意事项