温馨提示×

centos中weblogic如何调优

小樊
45
2026-09-09 10:00:51
栏目: 智能运维

在 CentOS 上运行 WebLogic Server 时,调优通常从 操作系统、JVM、WebLogic 自身参数、应用层面 四个方面入手。下面给你一个实用向的调优清单,适合生产环境参考。


一、CentOS 操作系统层调优

1. 文件句柄数(非常重要)

WebLogic 连接多时会报 too many open files

# 查看
ulimit -n

# 修改(/etc/security/limits.conf)
weblogic soft nofile 65536
weblogic hard nofile 65536

2. 内核参数(/etc/sysctl.conf)

net.core.somaxconn = 4096
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600

执行:

sysctl -p

3. 关闭不必要服务

systemctl stop firewalld
systemctl disable firewalld

(生产建议用 iptables 或安全组)


二、JVM 调优(最关键)

1. 修改 WebLogic 启动参数

路径示例:

$DOMAIN_HOME/bin/setDomainEnv.sh

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

-Xms4096m
-Xmx4096m
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m

Xms = Xmx,避免动态扩容

3. 垃圾回收器选择

JDK 8(推荐)

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

JDK 11+

-XX:+UseG1GC

4. GC 日志(排查问题必备)

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

三、WebLogic 自身调优

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

WebLogic 9+ 默认自动调节
一般不用手动改

如需限制:

Administration Console
Servers → Configuration → Tuning
  • Minimum Threads Constraint
  • Maximum Threads Constraint

2. 连接池(JDBC)

Initial Capacity = 10
Max Capacity = 50~100
Statement Cache Size = 20

✅ 不要设置过大,避免 DB 被打死


3. Accept Backlog

Servers → Tuning → Accept Backlog = 1024

防止高并发时连接被拒绝


4. 开启 Native IO

Servers → Configuration → General
✅ Enable Native IO

四、Web 层 & 应用层

1. 启用 GZIP

Administration Console
Servers → Protocols → HTTP
✅ Enable Gzip Compression

2. Session 超时

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

3. 静态资源走 Nginx

Nginx → WebLogic

五、监控与排查工具

1. 自带

  • WebLogic Console
  • java weblogic.Admin

2. 外部

  • jstack
  • jmap
  • VisualVM
  • Prometheus + Grafana

六、常见性能问题速查

现象 可能原因
CPU 高 死循环 / GC 频繁
内存涨 内存泄漏
连接超时 线程池满
too many files nofile 限制
响应慢 JDBC 池不足

七、示例:典型生产配置(16G)

-Xms8192m
-Xmx8192m
-XX:MetaspaceSize=512m
-XX:+UseG1GC
-Xloggc:/app/logs/gc.log

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

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

我可以给你一套定制化的调优方案

0