温馨提示×

weblogic在centos如何优化

小樊
44
2026-09-15 13:45:19
栏目: 智能运维

在 CentOS 上优化 WebLogic,一般从 操作系统层、JVM 层、WebLogic 配置层、网络与线程层 几个方面入手。下面给你一套比较实用、可落地的优化方案。


一、CentOS 操作系统层优化

1. 内核参数优化(/etc/sysctl.conf)

# 文件描述符
fs.file-max = 6815744

# TCP 连接优化
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535

# 内存与交换
vm.swappiness = 10

执行:

sysctl -p

2. 文件描述符限制(/etc/security/limits.conf)

weblogic soft nofile 65536
weblogic hard nofile 65536
weblogic soft nproc 65536
weblogic hard nproc 65536

3. 关闭不必要服务

systemctl stop firewalld
systemctl disable firewalld
# 如非必要,关闭 SELinux
setenforce 0

二、JVM 优化(最关键)

1. 使用合适的 JDK

  • WebLogic 12c+ 推荐 JDK 8 / JDK 11
  • 使用 Oracle JDK 或 OpenJDK(生产建议 Oracle JDK)

2. 调整 JVM 堆内存(setDomainEnv.sh)

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

建议:

  • -Xms = -Xmx(避免动态扩容)
  • 物理内存 ≤ 50%

3. GC 优化

JDK 8(推荐 G1)

-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:/logs/weblogic/gc.log

JDK 11+

-XX:+UseG1GC

三、WebLogic 配置优化

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

  • 默认已优化
  • 高并发可调整:
Administration Console
-> Servers -> Configuration -> Threads
  • 设置最小/最大线程数(如 50–400)

2. 连接池(JDBC)

Initial Capacity = 20
Max Capacity = 100
Min Capacity = 20
Inactive Connection Timeout = 300
Test Connections On Reserve = true

3. 启用 Native IO

/usr/java/bin/java ... -Dweblogic.NativeIOEnabled=true

提升 socket 性能。

4. 关闭多余服务

  • 关闭 Demo 应用
  • 关闭 WebLogic T3 不需要时禁用
  • 关闭 IIOP(如不用)

四、网络与性能优化

1. 启用 KeepAlive

Servers -> Protocols -> HTTP
-> Enable Keep Alive = true

2. 调整 Accept Backlog

Servers -> Configuration -> Tuning
-> Accept Backlog = 2048

3. 使用前端代理(推荐)

  • Nginx / Apache + WebLogic
  • 静态资源走 Nginx

五、日志与监控

1. 日志级别

  • 生产环境:
WARNING 或 ERROR

避免 DEBUG

2. 监控工具

  • WebLogic Console
  • JVisualVM / JConsole
  • Prometheus + Grafana

六、常见性能问题排查

  • 线程阻塞 → 看 thread dump
  • GC 频繁 → 调整堆和 GC
  • 数据库连接耗尽 → 调整 JDBC
  • CPU 高 → 看热点方法

如果你能提供:

  • WebLogic 版本
  • CentOS 版本
  • JDK 版本
  • 并发量 / 应用类型

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

0