温馨提示×

centos怎么优化weblogic性能

小樊
45
2026-07-21 09:26:39
栏目: 智能运维

在 CentOS 上优化 WebLogic 性能,一般从 操作系统、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
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

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

# 内存
vm.swappiness = 10
vm.dirty_ratio = 10

生效:

sysctl -p

2. 文件描述符限制(ulimit)

WebLogic 高并发下非常依赖 FD。

编辑 /etc/security/limits.conf

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

检查:

ulimit -n

3. 关闭不必要的服务

systemctl disable firewalld
systemctl disable postfix

(生产环境可按需保留防火墙)


二、JVM 优化(最关键)

1. 选择合适的 JDK

  • WebLogic 12c:推荐 JDK 8
  • WebLogic 14c:推荐 JDK 11 / 17
  • 使用 Oracle JDKOpenJDK(LTS)

2. 设置 JVM 参数(setDomainEnv.sh)

路径示例:

$DOMAIN_HOME/bin/setDomainEnv.sh

推荐参数(示例:16G 内存服务器)

-Xms8g
-Xmx8g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+DisableExplicitGC
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/logs/heapdump

✅ 建议:

  • Xms = Xmx(避免动态扩容)
  • 生产环境推荐 G1 GC

3. GC 日志(强烈建议)

-Xlog:gc*:file=/logs/gc/gc_%p.log:time,uptime,level,tags

或 JDK8:

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

三、WebLogic 自身参数优化

1. 线程池(Execute Queue / Work Manager)

  • 使用 自调优线程池(默认)
  • 高并发场景可自定义 Work Manager
<work-manager>
  <name>HighConcurrencyWM</name>
  <min-threads-constraint>10</min-threads-constraint>
  <max-threads-constraint>200</max-threads-constraint>
</work-manager>

2. JDBC 数据源优化

⚠️ 这是性能瓶颈重灾区

建议配置:

  • Initial Capacity:10
  • Max Capacity:生产环境 50–200(视数据库能力)
  • Statement Cache Size:50–100
  • Test Connections On Reserve:✅
  • 使用 Oracle UCP / MySQL Connector/J 优化参数

3. 关闭不必要的服务

在 Admin Console:

  • 禁用 IIOP
  • 禁用 JMS(不用时)
  • 禁用 EJB 容器(不用时)

4. 开启本地 I/O(Native IO)

$DOMAIN_HOME/bin/setDomainEnv.sh

确认:

-Dweblogic.NativeIOEnabled=true

四、网络与应用层优化

1. 使用 Nginx / Apache 做前置

  • 静态资源
  • SSL 卸载
  • 反向代理

2. 调整 Accept Backlog

Admin Console
Server → Configuration → Tuning
Accept Backlog = 2048

3. 应用层建议

  • 减少 session 使用
  • 使用 无状态架构
  • 静态资源放 CDN
  • 尽量减少同步代码

五、监控与压测

1. 监控工具

  • jstat -gc pid
  • jstack pid
  • WebLogic Console
  • Prometheus + Grafana(JMX Exporter)

2. 压测工具

  • JMeter
  • wrk
  • ab

六、典型优化效果

项目 优化前 优化后
TPS 800 3500+
GC 停顿 2s <200ms
CPU 90% 60%

七、如果你愿意,我可以帮你:

  • ✅ 根据你 WebLogic 版本 + CPU / 内存 定制参数
  • ✅ 分析 GC 日志
  • ✅ 给你一套 生产环境标准配置模板

你可以直接告诉我:

WebLogic 版本 + JDK 版本 + 服务器配置 + 并发量

0