温馨提示×

centos中weblogic如何优化

小樊
42
2026-09-21 15:30:59
栏目: 智能运维

CentOS 环境下优化 WebLogic,通常可以从 操作系统层面、JVM 层面、WebLogic 自身配置、应用层面 四个维度来做。下面给你一套比较系统、可落地的优化思路(适用于生产环境)。


一、CentOS 系统层优化

1. 文件描述符(非常重要)

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

# 查看
ulimit -n

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

2. 内核参数优化

vi /etc/sysctl.conf

建议参数:

net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 1024 65535
vm.swappiness = 10

生效:

sysctl -p

3. 关闭不必要的服务

systemctl disable firewalld
systemctl stop firewalld

(如业务需要,用 iptables 或安全组代替)


二、JVM 优化(最关键)

1. 使用合适的 JDK

  • WebLogic 12c+ 推荐 JDK 8 / JDK 11
  • 使用 Oracle JDKOpenJDK(长期支持版)

2. 修改 setDomainEnv.sh

路径示例:

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

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

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

GC 选择

JDK 8:

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

JDK 11:

-XX:+UseG1GC
-XX:+UseStringDeduplication

三、WebLogic 配置优化

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

WebLogic 默认自调节线程池,一般不要写死

如果并发极高:

Administration Console
-> Servers -> Configuration -> Threads
-> 增加 Minimum Threads Constraint

2. 连接池(JDBC)

Services -> Data Sources -> Connection Pool

建议:

  • Initial Capacity:10–20
  • Max Capacity:50–200(看数据库能力)
  • Statement Cache Size:50–100
  • Test Connections On Reserve:true

3. 启用 Native IO

Servers -> Configuration -> General
-> 勾选 "Enable Native IO"

4. 关闭不必要的服务

  • WebLogic Tuning
  • IIOP(不用就关)
  • JTA(不用就关)
  • WebLogic Workshop

四、网络与应用层优化

1. 开启 KeepAlive

Servers -> Protocols -> HTTP
-> 启用 KeepAlive
Timeout: 30s

2. 使用前端代理

推荐:

  • Nginx + WebLogic
  • 静态资源走 Nginx
  • 动态请求转发 WebLogic

3. 应用优化建议

  • 避免 session 放太大
  • 使用缓存(Redis)
  • 减少同步代码
  • 使用连接池而非新建连接

五、监控与调优手段

1. WebLogic 自带

  • Admin Console
  • WLDF(WebLogic Diagnostic Framework)

2. 系统工具

top
vmstat 1
iostat -x 1
netstat -an | grep 7001 | wc -l

3. GC 分析

jstat -gcutil <pid> 1000

六、典型优化前后对比(经验值)

项目 优化前 优化后
TPS 200 800+
GC 停顿 1s+ <200ms
并发连接 1000 5000+

如果你能告诉我:

  • WebLogic 版本
  • JDK 版本
  • 服务器配置(CPU/内存)
  • 单机 / 集群
  • 主要业务类型(接口 / 页面 / 文件)

我可以给你一套 更精准的参数模板

0