温馨提示×

Debian下WebLogic如何优化

小樊
37
2026-08-28 10:58:08
栏目: 智能运维

在 Debian 上优化 WebLogic Server,通常可以从 操作系统(Debian)JVMWebLogic 配置应用与数据库 四个层面入手。下面给你一套较完整的优化思路,适用于生产环境。


一、Debian 操作系统层面优化

1. 内核参数(网络 & 文件句柄)

编辑 /etc/sysctl.conf

# 最大文件句柄
fs.file-max = 6815744

# 网络参数
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.core.somaxconn = 4096
net.ipv4.ip_local_port_range = 1024 65535

生效:

sysctl -p

2. 文件描述符限制

编辑 /etc/security/limits.conf

weblogic soft nofile 65536
weblogic hard nofile 65536
weblogic soft nproc 4096
weblogic hard nproc 4096

确保使用 weblogic 用户启动服务


3. 关闭不必要服务

systemctl disable bluetooth
systemctl disable cups
systemctl disable avahi-daemon

二、JVM 优化(关键)

1. 使用合适的 JDK

  • WebLogic 12c+:推荐 JDK 8 / JDK 11
  • 使用 Oracle JDKOpenJDK(需测试兼容性)

查看:

java -version

2. JVM 参数示例(生产环境)

编辑 setDomainEnv.sh 或通过 Admin Console:

-Xms4096m
-Xmx4096m
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+DisableExplicitGC
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/opt/weblogic/logs

✅ 建议:

  • 堆内存 初始 = 最大
  • 高并发使用 G1 GC
  • 避免频繁 Full GC

三、WebLogic Server 配置优化

1. 线程池(Execute Queue / Work Manager)

WebLogic 12c+(推荐)

  • 使用 Work Manager
  • 避免调大默认线程数

路径:

Environment → Work Managers

建议:

  • Min Threads: 16
  • Max Threads: 400(根据压力)

2. 连接池优化(JDBC)

路径:

Services → Data Sources → Connection Pool

推荐配置:

Initial Capacity: 10
Max Capacity: 100
Min Capacity: 10
Statement Cache Size: 50
Test Connections On Reserve: true
Test Frequency: 120

SQL 测试示例:

SELECT 1 FROM DUAL

3. Accept Backlog(防止拒绝连接)

Servers → Configuration → Tuning
  • Accept Backlog: 2048
  • Login Timeout: 5000

4. 关闭不必要的服务

在 Admin Console 禁用:

  • IIOP(如不用 EJB)
  • JMS(如不用)
  • JTA(如不用分布式事务)
  • RMI 旧协议

四、网络与应用层优化

1. 启用 Native IO

确保使用本地 IO 库:

$WL_HOME/server/native/linux

检查日志是否加载成功:

Native IO enabled

2. 开启 Gzip(可选)

通过:

  • Web Server(Nginx / Apache)
  • 或 WebLogic Web App 容器

3. 应用层面

  • 避免大量同步
  • 减少 session 使用
  • session 放 Redis / 数据库
  • 静态资源不要走 WebLogic

五、监控与排查

1. 日志

$DOMAIN_HOME/servers/AdminServer/logs

开启:

  • GC 日志
  • Thread Dump(kill -3)

2. 常用调优命令

jps
jstat -gc
jstack

六、典型问题对照表

问题 优化方向
CPU 高 GC / 线程数
响应慢 连接池 / 线程阻塞
OOM JVM 堆 / Metaspace
连接拒绝 Accept Backlog / 文件句柄

七、示例:中等规模生产环境

OS: Debian 11
RAM: 32G
WebLogic: 12.2.1.4
JVM: 4G
连接池: 100
Accept Backlog: 2048
GC: G1

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

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

我可以给你一套 精确参数模板

0