温馨提示×

weblogic centos如何调优

小樊
45
2026-10-20 22:20:02
栏目: 智能运维

在 CentOS 上运行 WebLogic 时,调优通常从 操作系统、JVM、WebLogic 自身参数、应用架构 四个层面入手。下面给你一套实用、可落地的调优思路(以 WebLogic 12c/14c + CentOS 7/8 为例)。


一、CentOS 操作系统层调优

1. 文件描述符(非常重要)

WebLogic 并发高时最容易遇到:

Too many open files

修改:

# 查看
ulimit -n

# 修改 /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536

重新登录或重启生效。


2. 内核参数优化(/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
vm.swappiness = 10
sysctl -p

3. 关闭不必要的服务

systemctl disable firewalld   # 测试环境
systemctl stop firewalld

(生产建议用 iptables 而非直接关)


二、JVM 调优(最关键)

1. 使用合适的 JDK

  • WebLogic 12c → JDK 8
  • WebLogic 14c → JDK 11/17

2. 修改 WebLogic 启动参数

文件路径:

$DOMAIN_HOME/bin/setDomainEnv.sh

示例(JDK 8):

USER_MEM_ARGS="-Xms4g -Xmx4g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m"
export USER_MEM_ARGS

建议:

  • Xms = Xmx(避免动态扩容)
  • 物理内存 ≤ 50% 给 JVM
  • 开启 GC 日志:
-Xloggc:/logs/weblogic/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps

3. 选择 GC 策略

  • 低延迟:G1
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
  • 高吞吐:Parallel GC(默认)

三、WebLogic 自身调优

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

WebLogic 默认自动调整,不要手动改太多

可通过 Console:

Environment → Servers → Configuration → General

关注:

  • Execute Threads(观察是否长期 100%)

2. 连接池(JDBC)

Services → Data Sources → Connection Pool

关键参数:

  • Initial Capacity:20
  • Max Capacity:100~200
  • Min Capacity:20
  • Statement Cache Size:50

3. 开启 Native IO

Server → Configuration → General → Advanced

✅ Use Native IO(Linux 性能更好)


4. 关闭不必要的服务

  • WebLogic Tuxedo
  • IIOP(不用就关)
  • Default WebApp(生产建议删)

四、网络与应用层

1. 前端加代理

  • Nginx / Apache
  • 静态资源分离
  • 开启 gzip

2. Session 优化

  • 减少 Session 大小
  • 集群使用 Replicated Session

3. 日志级别

生产环境:

WARNING 或 ERROR

不要开 Debug


五、常用监控方式

1. WebLogic Console

Monitoring → Performance

2. 命令行

jstat -gcutil <pid> 1000
top -Hp <pid>

3. 线程 dump

jstack <pid> > thread.txt

六、典型调优顺序(经验)

  1. 先解决 Too many open files
  2. 再调 JVM 内存 + GC
  3. 然后看 线程池 & JDBC
  4. 最后做 架构优化

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

  • WebLogic 版本
  • CentOS 版本
  • 内存大小
  • 并发量 / 应用场景(ERP?接口?)

我可以直接给你一份可复制的调优配置。

0 踩