温馨提示×

centos下weblogic如何优化

小樊
37
2026-09-24 15:45:28
栏目: 智能运维

CentOS 下优化 WebLogic,通常从 操作系统层、JVM 层、WebLogic 配置层、应用层 四个方面入手。下面给你一套比较实用、可落地的优化思路(以生产环境常见场景为例)。


一、CentOS 操作系统层优化

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

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

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

# 内存
vm.swappiness = 10

执行:

sysctl -p

2. 用户资源限制(/etc/security/limits.conf)

weblogic soft nofile 65535
weblogic hard nofile 65535
weblogic soft nproc 65535
weblogic hard nproc 65535

3. 关闭不必要服务

systemctl disable firewalld
systemctl stop firewalld

(如安全要求用 iptables 或安全组)


二、JVM 优化(最重要)

1. 使用合适的 JDK

  • WebLogic 12c+ 推荐 JDK 8 / JDK 11
  • 使用 Oracle JDK 或 OpenJDK(LTS)

2. 堆内存设置(setDomainEnv.sh)

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

原则:

  • Xms = Xmx(避免动态扩容)
  • 不超过物理内存 70%
  • 8G 内存示例:4~5G 堆

3. GC 优化

JDK 8:

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

JDK 11:

-XX:+UseG1GC
-Xlog:gc*:file=/opt/logs/gc.log:time

三、WebLogic 配置优化

1. 线程池(Self Tuning)

  • 使用默认 Self Tuning Thread Pool
  • 不手动改线程数,除非极端场景

2. 连接池(JDBC)

Initial Capacity = 10
Max Capacity = 50~100
Min Capacity = 10
Statement Cache Size = 50
Test Connections On Reserve = true

3. 启用 Native IO

/opt/weblogic/user_projects/domains/base_domain/bin/setDomainEnv.sh

确保:

-Dweblogic.nio.EnableDirectByteBuffer=true

4. 关闭不必要的服务

  • 禁用 IIOP(如不用)
  • 禁用 T3(仅内网可用)
  • 禁用示例应用

四、网络与访问层优化

1. 使用 Nginx / Apache 做前置

  • 静态资源交给 Nginx
  • WebLogic 只处理动态请求

2. 开启 GZIP(WebLogic)

Admin Console → Server → Protocols → HTTP
Enable GZIP = true

五、日志与监控

1. 日志分离

  • access log
  • server log
  • gc log

2. 监控工具

  • WebLogic Console
  • JVisualVM / JConsole
  • Prometheus + Grafana(WLDF)

六、常见性能问题快速排查

现象 可能原因
CPU 高 GC 频繁 / 死循环
内存涨 内存泄漏
响应慢 连接池不足
TPS 低 线程阻塞

七、示例优化组合(8C16G)

-Xms8g -Xmx8g
-XX:+UseG1GC
JDBC Max=80
Nginx + WebLogic
GC 日志开启

如果你能提供:

  • WebLogic 版本
  • JDK 版本
  • CentOS 版本
  • 并发量 / 业务类型

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

0