温馨提示×

Debian WebLogic怎么调性能

小樊
44
2026-08-17 05:15:19
栏目: 智能运维

Debian 上运行 WebLogic(Oracle WebLogic Server) 时,性能调优通常从 操作系统、JVM、WebLogic 自身、应用、数据库 五个层面入手。下面给你一套实战型调优清单,适用于生产环境。


一、Debian 系统层调优(非常关键)

1️⃣ 文件描述符(ulimit)

WebLogic 高并发下容易遇到 too many open files

# 查看
ulimit -n

# 临时修改
ulimit -n 65535

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

✅ 重启后生效


2️⃣ 内核参数(TCP / 网络)

编辑:

vi /etc/sysctl.conf

推荐配置(高并发):

net.core.somaxconn = 32768
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 1024 65535

生效:

sysctl -p

3️⃣ 关闭 swap(强烈建议)

避免 JVM GC 时卡顿:

swapoff -a

永久关闭:

vi /etc/fstab  # 注释 swap 行

二、JVM 调优(最重要)

1️⃣ 推荐 JVM

  • HotSpot JDK 8 / JDK 11(LTS)
  • WebLogic 12c / 14c 官方支持

2️⃣ 常用 JVM 参数(示例)

-Xms4g
-Xmx4g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+DisableExplicitGC
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/opt/logs/heapdump

Xms = Xmx(避免动态扩容)


3️⃣ 修改 WebLogic 启动参数

编辑:

$DOMAIN_HOME/bin/setDomainEnv.sh

或:

$WL_HOME/common/bin/commEnv.sh

三、WebLogic 自身调优

1️⃣ 线程池(Execute Queue / Work Manager)

WebLogic 12c+

使用 Work Manager

  • 控制台
    Environment → Work Managers
  • 建议:
    • Min Threads: 16
    • Max Threads: 200~400(视 CPU 核数)

2️⃣ JDBC 连接池(重点)

Initial Capacity: 20
Max Capacity: 100~200
Increment: 5
Statement Cache Size: 50
Test Connections On Reserve: true

✅ 连接数 ≠ 并发数
✅ 防止连接泄漏


3️⃣ 关闭不必要的服务

  • 关闭:
    • EJB Timer(不用时)
    • JTA(不用分布式事务)
    • IIOP
    • JMS(不用时)

4️⃣ 开启 Native IO

$WL_HOME/server/native/linux/x86_64

WebLogic 控制台确认:

Servers → Configuration → Tuning
✅ Enable Native IO

四、应用层调优

1️⃣ 会话(Session)

  • Session 超时:15~30 分钟
  • 避免 Session 存大对象
  • 使用 非 sticky session(集群)

2️⃣ 日志级别

生产环境:

INFO 或 WARNING

关闭:

  • DEBUG
  • System.out.println

五、数据库 & 网络

  • 使用 连接池
  • SQL 加索引
  • 避免 N+1 查询
  • 使用 PreparedStatement

六、性能监控工具

1️⃣ WebLogic 自带

  • Admin Console
  • WLDF(WebLogic Diagnostic Framework)

2️⃣ JVM

jstat -gc pid
jstack pid
jmap -heap pid

3️⃣ 系统

top
htop
iostat -x 1
netstat -an | grep ESTABLISHED | wc -l

七、常见性能问题速查表

问题 原因 解决
CPU 100% GC 频繁 调大堆、换 G1
响应慢 连接池不够 增加 JDBC
OOM 内存泄漏 HeapDump 分析
TPS 上不去 线程池小 调整 WorkManager
Linux 报错 文件句柄 ulimit

八、推荐配置总结(示例)

项目 推荐
Debian 关闭 swap
JVM G1 + 固定堆
线程 200~400
连接池 100~200
文件句柄 65535

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

  • ✅ WebLogic 版本(12c / 14c?)
  • ✅ JDK 版本
  • ✅ 应用类型(ERP / 接口 / Web)
  • ✅ 并发量(TPS)

我可以给你一套 针对你环境的精确调优参数

0