centos中weblogic配置怎样优化
小樊
42
2025-12-05 22:29:23
CentOS 上 WebLogic 配置优化清单
一 系统层优化
- 文件描述符与进程数
- 提升进程可打开文件数,避免“too many open files”:
- 临时:ulimit -n 65535
- 永久:在 /etc/security/limits.conf 增加
- TCP/IP 与网络栈
- 减少连接回收时间、复用 TIME_WAIT 连接,缓解高并发短连接压力(/etc/sysctl.conf):
- net.ipv4.tcp_tw_reuse = 1
- net.ipv4.tcp_fin_timeout = 30
- 执行 sysctl -p 使配置生效
- 虚拟内存与 I/O
- 降低 swap 倾向,优先使用物理内存:vm.swappiness = 10
- 文件系统挂载建议使用 noatime(减少元数据写入),如 mount -o noatime /dev/sdX /web
- 资源与权限
- 关闭不必要的系统服务,释放内存与 CPU
- SELinux 按业务需要设为 permissive 或 disabled(变更前评估安全影响)
- WebLogic 以非 root用户运行,遵循最小权限原则
二 JVM 层优化
- 堆与元空间
- 将初始堆与最大堆设为相同,减少堆扩展带来的抖动:如 -Xms4g -Xmx4g
- Java 8+ 使用 Metaspace 替代 PermGen:
- -XX:MetaspaceSize=512m
- -XX:MaxMetaspaceSize=1g
- 垃圾回收器
- 大堆、低停顿优先选用 G1 GC:
- -XX:+UseG1GC
- -XX:MaxGCPauseMillis=200
- -XX:InitiatingHeapOccupancyPercent=45
- 编译与栈
- 启用分层编译提升热点路径性能:-XX:+TieredCompilation
- 视应用栈深度调整线程栈:-Xss256k
- GC 日志与诊断
- 开启 GC 日志便于问题定位与回放:
- -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/var/log/weblogic/gc.log
- 显式 GC 与启动脚本
- 避免应用误调用 System.gc() 影响停顿:-XX:+DisableExplicitGC
- 将以上参数写入域环境脚本(如 setDomainEnv.sh)或启动脚本的 JAVA_OPTIONS
三 WebLogic 服务层优化
- 运行模式与基础
- 生产环境务必使用生产模式(Production Mode),关闭开发期特性
- 如可用,启用 Native I/O 提升网络 I/O 效率
- 线程池与工作队列
- 现代版本使用自调优线程池;如需人工设定边界,可通过启动参数控制:
- -Dweblogic.threadpool.MinPoolSize=100
- -Dweblogic.threadpool.MaxPoolSize=500
- 老版本或兼容模式可在控制台/配置中调整默认队列(如 weblogic.kernel.Default)线程数与 Stuck Thread 阈值,缓解阻塞与排队
- 数据源与连接池
- 合理设置初始/最大连接数、增量、超时与验证查询,避免连接风暴与泄漏
- 结合数据库最大连接与业务峰值,控制总连接数不超过后端承载能力
- 日志与应用特性
- 降低日志级别与输出频率,避免频繁 I/O(如减少 System.out、优化 Log4j 配置)
- 关闭/拉长开发特性:Servlet 重加载检查、JSP 检查间隔等
四 集群与前端架构优化
- 反向代理与静态资源
- 使用 Nginx/Apache 作为反向代理与静态资源服务器,启用长连接、压缩与缓存,减轻 WebLogic 负载
- 集群与工作负载
- 通过多个受管服务器分摊会话与计算,结合会话粘滞或集中式会话存储
- 前端与负载均衡器合理设置连接复用与超时,避免后端线程被长连接占用
- 监控与容量规划
- 利用 WebLogic 控制台、WLST、JMX 持续观测线程队列、GC 停顿、连接池利用率与响应时间,按指标逐步调优
五 落地步骤与验证
- 基线采集
- 在非生产环境建立与生产一致的拓扑与数据量,采集基线指标:CPU、内存、I/O、网络、线程队列、GC 次数/停顿、DB 连接数、RT/吞吐
- 分阶段变更
- 按“系统层 → JVM → WebLogic → 前端/集群”的顺序小步变更,单变量调整,逐项验证
- 关键指标与告警
- 关注:Execute Threads 使用率、Queue Length、Stuck Thread 数、Full GC 次数/停顿、连接池等待、P95/P99 RT
- 设置阈值告警与 GC 日志滚动归档,便于回溯
- 回滚与复盘
- 任何阶段出现稳定性或性能退化,立即回滚至上一个稳定版本,记录调优项与效果,形成复盘文档
提示
- 以上参数为通用起点,需结合硬件规格、应用特征与数据库能力迭代压测与微调;变更前务必做好备份与回滚预案,并在灰度/准生产环境充分验证。