Ubuntu如何优化WebLogic网络设置
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)
- 在 Server → Protocols → HTTP 中:
- 合理提升 Maximum Thread Count(如 200–500),避免过小导致排队、过大导致上下文切换激增。
- 启用 Keep-Alive(长连接),适度提高 Keep-Alive Timeout(如 30–60 秒),减少握手开销。
- 在 Server → Protocols → General 中:
- 启用 HTTP Tunneling 仅用于穿透防火墙场景,生产 HTTP/HTTPS 不建议开启。
- 在 Services → Data Sources → Connection Pools 中:
- 合理设置 Initial/Maximum Capacity、Connection Timeout、Inactive Connection Timeout,避免连接风暴与泄漏。
说明:线程与连接池应与压测结果联动调优,避免“拍脑袋”设置。
- 合理设置 Initial/Maximum Capacity、Connection Timeout、Inactive Connection Timeout,避免连接风暴与泄漏。
- 在 Server → Protocols → HTTP 中:
-
传输层加密与性能权衡
- 优先使用 TLS 1.2/1.3,禁用 SSLv3/TLS1.0/1.1。
- 启用 ECDHE 等前向保密套件,结合 硬件加速(如 AES-NI)提升 HTTPS 吞吐。
- 静态资源启用 HTTP/2 或反向代理(Nginx/Apache)承载,降低 WebLogic SSL 负载。
三 架构与周边优化
-
反向代理与负载均衡
在 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 - 回滚建议
将修改集中在 /etc/sysctl.conf 与 /etc/security/limits.conf,变更前备份;异常时先恢复默认值,再按指标逐步放大参数。
五 注意事项
- 上述 内核参数 为通用起点,需结合业务并发、带宽、RTT 与实例规格压测微调;过大可能引发 内存占用 与 连接回收过快 的问题。
- 启用 连接跟踪 时务必评估 nf_conntrack_max 与超时,避免 丢包/新连接失败;云环境或容器平台可能由 宿主机/网络插件 管理该值。
- 生产环境建议通过 变更单 与 回滚预案 执行,并在低峰期实施。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何优化WebLogic网络设置
本文地址: https://pptw.com/jishu/777956.html
