温馨提示×

centos中weblogic怎样调优

小樊
36
2026-09-15 13:46:19
栏目: 智能运维

CentOS 环境下对 WebLogic 进行调优,通常从 操作系统、JVM、WebLogic 自身参数、数据库连接、线程与网络 几个方面入手。下面给你一套实用、可落地的调优思路(以生产环境常见场景为例)。


一、CentOS 操作系统层调优

1. 文件句柄数(非常重要)

WebLogic 并发高时容易报 Too many open files

# 查看
ulimit -n

# 修改(永久)
vi /etc/security/limits.conf
weblogic soft nofile 65536
weblogic hard nofile 65536
# 系统级
vi /etc/sysctl.conf
fs.file-max = 6815744
sysctl -p

2. 网络参数优化

vi /etc/sysctl.conf
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
sysctl -p

二、JVM 调优(最关键)

1. 修改 WebLogic 启动参数

路径示例:

$DOMAIN_HOME/bin/setDomainEnv.sh

2. 推荐 JVM 参数(JDK 8 示例)

JAVA_OPTIONS="
-Xms4g
-Xmx4g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/logs/heapdump.hprof
"

✅ 建议:

  • -Xms = -Xmx,避免动态扩展开销
  • 使用 G1 GC(WebLogic 12c+ 推荐)
  • 生产环境一定要开 HeapDump

三、WebLogic 控制台调优

1. 线程池(Self-Tuning Thread Pool)

路径:

环境 → 服务器 → 你的Server → 配置 → 线程

建议:

  • 初始线程:<cpu核数 * 2>
  • 最大线程:根据并发压测调整(一般 200~800)

2. 连接池(JDBC)

路径:

服务 → 数据源 → 连接池

推荐配置:

初始容量:20
最大容量:100~200
最小容量:20
空闲超时:300 秒
测试频率:120 秒
测试语句:SQL SELECT 1

✅ 一定要启用 Connection Test


3. 启用 Native IO(提升性能)

服务器 → 配置 → 优化
  • 勾选 启用本地 I/O
  • 使用 libasync-native

四、WebLogic 部署与请求优化

1. 关闭不必要的服务

  • WebLogic T3 协议(如不用)
  • IIOP(如不用)
  • 示例应用(全部删除)

2. Session 超时优化

<session-config>
  <session-timeout>30</session-timeout>
</session-config>

3. JSP / Servlet 编译

  • 生产模式(production mode
  • 预编译 JSP
weblogic.jspc

五、日志与监控

1. 日志级别

  • 生产环境:WARNINGERROR
  • 避免 DEBUG

2. 监控工具

  • WebLogic Console → 监控
  • jstat -gcutil
  • jstack
  • VisualVM / Prometheus + Grafana

六、简单调优流程(推荐)

  1. 先压测(JMeter / LoadRunner)
  2. 看 CPU / 内存 / GC
  3. 调 JVM
  4. 调线程池 & 连接池
  5. 再压测 → 再调

七、常见性能问题对照表

现象 可能原因
CPU 高 GC 频繁 / 线程阻塞
响应慢 连接池不够
OOM 内存设置小 / 内存泄漏
Too many open files ulimit 小
请求堆积 线程池不足

如果你愿意,可以告诉我:

  • WebLogic 版本(10g / 11g / 12c)
  • JDK 版本
  • 应用类型(ERP / 接口 / 网站)
  • 并发量

我可以给你一套 针对你场景的精确调优参数

0