温馨提示×

centos下weblogic怎么调优

小樊
39
2026-09-06 11:58:50
栏目: 智能运维

CentOS 下对 WebLogic 进行调优,通常分为 操作系统层面、JVM 层面、WebLogic 自身参数、应用层面 四个方向。下面给你一套比较系统的调优思路和常用参数。


一、CentOS 操作系统层面调优

1. 文件描述符(ulimit)

WebLogic 连接数高时容易报 too many open files

# 查看
ulimit -n

# 修改(临时)
ulimit -n 65535

# 永久修改
vi /etc/security/limits.conf

添加:

weblogic soft nofile 65535
weblogic hard nofile 65535

2. 内核参数(TCP 连接)

vi /etc/sysctl.conf

常用优化:

net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

生效:

sysctl -p

3. 关闭不必要的服务

减少系统资源占用(如 postfix、cups 等)


二、JVM 调优(最重要)

WebLogic 一般使用 Oracle JDK / OpenJDK

1. 修改 JVM 参数位置

$DOMAIN_HOME/bin/setDomainEnv.sh

2. 堆内存设置(示例:8C16G)

-Xms4g
-Xmx4g
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m

⚠ 生产环境 Xms = Xmx,避免动态扩容

3. 垃圾回收器选择

JDK 8(推荐)

-XX:+UseParallelGC
# 或
-XX:+UseConcMarkSweepGC

JDK 11+

-XX:+UseG1GC

4. 垃圾回收日志(排查必备)

-Xloggc:/logs/weblogic/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps

三、WebLogic 自身调优

1. 线程池(最重要)

Console → 服务器 → 配置 → 线程池

推荐:

  • 最小线程数:CPU 核数 × 2
  • 最大线程数:CPU 核数 × 10~25

示例(8核):

Minimum Capacity: 16
Maximum Capacity: 200

2. 连接池(JDBC)

Console → 服务 → JDBC → 数据源

Initial Capacity: 10
Max Capacity: 50~100
Min Capacity: 10
Inactive Connection Timeout: 300

3. 开启 Native IO

java.nio.channels.spi.SelectorProvider

WebLogic 默认使用 native socket,确保未被禁用

4. 关闭不必要的服务

  • WebLogic TLOG
  • IIOP
  • COM
  • WebLogic Workshop(如不用)

四、Web 容器 & 应用层调优

1. 会话超时

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

2. 启用 GZIP

Console → 服务器 → 协议 → HTTP → 勾选 GZIP

3. 静态资源

  • 图片/CSS/JS 放 Nginx
  • WebLogic 只处理动态请求

五、监控与问题定位

1. 查看线程

jstack <pid> > thread.txt

2. 查看内存

jmap -heap <pid>

3. 慢请求

开启:

Admin Console → 诊断 → 请求性能

六、典型生产环境示例(8C16G)

-Xms8g
-Xmx8g
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-Xloggc:/logs/weblogic/gc.log

线程池:

  • Min: 16
  • Max: 200

JDBC:

  • Min: 10
  • Max: 80

如果你能提供:

  • WebLogic 版本
  • JDK 版本
  • 服务器配置
  • 是否高并发 / 后台任务多

我可以给你 更精准的调优参数

0