温馨提示×

centos下weblogic怎样优化

小樊
40
2026-09-09 09:57:52
栏目: 智能运维

CentOS 下优化 WebLogic,通常可以从 操作系统层面、JVM 层面、WebLogic 自身配置、应用层面 四个方向入手。下面给你一套实用型优化清单(以生产环境常见场景为例)。


一、CentOS 操作系统层面优化

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

WebLogic 高并发时容易报 Too many open files

# 查看
ulimit -n

# 修改(永久)
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536

2. 内核参数优化

vi /etc/sysctl.conf

建议添加:

net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
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. 使用合适的 JDK

  • WebLogic 12c+:JDK 8 / JDK 11
  • 推荐 HotSpot / OpenJDK

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

vi $DOMAIN_HOME/bin/setDomainEnv.sh

示例(16G 内存服务器):

USER_MEM_ARGS="-Xms8g -Xmx8g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m"
export USER_MEM_ARGS

✅ 原则:

  • -Xms = -Xmx(避免动态扩容)
  • 预留系统内存(不要全给 JVM)

3. GC 优化(推荐 G1)

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

三、WebLogic 自身配置优化

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

WebLogic 默认自动调优,一般 不要手动写死

但可限制最大线程:

Administration Console
Servers → your server → Threads → Maximum Thread Constraint

示例:

  • 4核:100~200
  • 8核:200~400

2. 连接池(JDBC)

Services → Data Sources → Connection Pool

推荐配置:

  • Initial Capacity:10
  • Max Capacity:50~100
  • Min Capacity:10
  • Statement Cache Size:50

✅ 避免:

  • Max Capacity 过大(拖垮数据库)

3. 启用 Native IO

Servers → your server → Configuration → General
✅ Enable Native IO

提升 socket 性能(尤其 Linux)


4. 关闭不必要的服务

  • WebLogic T3 协议(不用就关)
  • IIOP
  • JMS(不用就删)

四、网络与应用层优化

1. 开启 KeepAlive

Servers → Protocols → HTTP
✅ Keep Alive
Timeout: 30

2. 使用 Nginx / Apache 做前端

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

3. 应用层面

  • 减少 session 使用
  • 避免大对象
  • 使用缓存(Redis)
  • 异步处理(@Async / JMS)

五、监控与问题定位

1. 查看性能

top
vmstat 1
iostat -x 1

2. WebLogic 自带

  • Admin Console
  • WLST
  • JFR(Java Flight Recorder)

六、典型优化示例(8C16G)

JVM: 8G
GC: G1
线程池: 300
JDBC: 50
Native IO: 开启
前端: Nginx

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

  • WebLogic 版本
  • CentOS 版本
  • 并发量 / 应用类型(ERP?接口?)

我可以给你一套 精准配置文件级别优化方案

0