温馨提示×

CentOS如何优化WebLogic性能

小樊
50
2026-07-09 15:03:50
栏目: 智能运维

CentOS 上优化 WebLogic Server(WLS) 性能,通常从 操作系统、JVM、WebLogic 参数、应用架构 四个层面入手。下面给你一套 实战型优化清单,适用于生产环境常见场景。


一、CentOS 操作系统层面优化

1. 调整内核参数(sysctl)

编辑 /etc/sysctl.conf

# 网络连接优化
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535

# TCP 连接复用
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

# 文件句柄
fs.file-max = 1000000

生效:

sysctl -p

2. 调整文件描述符限制

编辑 /etc/security/limits.conf

* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

WebLogic 用户(如 weblogic)必须重新登录生效。


3. 关闭不必要服务

减少系统资源占用:

systemctl disable firewalld
systemctl disable postfix

(生产环境防火墙建议用硬件或 iptables)


二、JVM 优化(最关键)

1. 推荐 JVM

  • Oracle JDK / OpenJDK 8 / 11
  • WebLogic 12c+ 推荐 JDK 8u202+ 或 JDK 11

2. JVM 参数示例(生产环境)

堆内存(根据服务器内存调整)

-Xms4g
-Xmx4g

建议 Xms = Xmx,避免动态扩容


垃圾回收器(重点)

JDK 8(推荐):

-XX:+UseG1GC
-XX:MaxGCPauseMillis=200

JDK 11+:

-XX:+UseG1GC

常用 JVM 优化参数

-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/data/logs/heapdump
-Xloggc:/data/logs/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps

3. 设置方式

setDomainEnv.sh 中修改:

export USER_MEM_ARGS="-Xms4g -Xmx4g -XX:+UseG1GC"

三、WebLogic Server 参数优化

1. 线程池优化

Console 路径:

Environment → Servers → your_server → Configuration → Threads

推荐:

  • Min Threads: 16
  • Max Threads: 200–400(视 CPU 核数)

2. 连接池(JDBC)优化

Console:

Services → Data Sources → your_ds → Connection Pool

推荐配置:

  • Initial Capacity:10
  • Max Capacity:50–200
  • Statement Cache Size:50
  • Test Connections On Reserve:✅
  • Test Table Name:SQL SELECT 1

3. 执行队列(老版本)

WebLogic 9+ 已废弃,使用 Work Manager 替代。


4. 关闭不必要的服务

  • 禁用 IIOP(不用 EJB 远程调用)
  • 禁用 JMS(不用消息)
  • 禁用 JTA(不用分布式事务)

四、网络与应用层优化

1. 使用 Native IO

确保使用 Linux Native IO

$WL_HOME/server/native/linux/x86_64

WebLogic 自动启用,日志中确认:

Using native I/O

2. 启用 GZIP(可选)

weblogic.xml

<gzip-compression>true</gzip-compression>

3. 静态资源优化

  • 静态文件(JS/CSS/图片)不要走 WebLogic
  • 使用 Nginx / Apache 反向代理

五、WebLogic 日志与监控优化

1. 减少日志级别

生产环境:

INFO 或 WARNING

避免:

DEBUG

2. 开启 JMX 监控

  • 使用 VisualVM / JConsole
  • 接入 Prometheus + Grafana(需 exporter)

六、典型生产环境推荐配置示例

项目 配置
内存 8G 服务器:Xms4g Xmx4g
GC G1GC
CPU 8 核
线程池 200
JDBC 100
OS CentOS 7/8
反向代理 Nginx

七、常见性能问题排查

# CPU 高
top -H -p <pid>

# 内存
jmap -heap <pid>

# GC
jstat -gc <pid> 1000

# 线程
jstack <pid> > thread.txt

八、总结一句话

CentOS + WebLogic 性能优化的核心是:JVM 参数 + 线程池 + 连接池 + 操作系统限制 + 架构拆分。

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

  • WebLogic 版本
  • JDK 版本
  • 服务器内存 / CPU
  • 是否使用 Nginx / 数据库类型

我可以给你一套 完全定制化的参数配置

0