温馨提示×

WebLogic Debian如何优化

小樊
38
2026-07-18 06:33:41
栏目: 智能运维

Debian 上部署和优化 Oracle WebLogic Server,通常从 操作系统、JVM、WebLogic 本身、网络与资源 四个方面入手。下面给你一套比较系统、可落地的优化建议(适用于生产环境)。


一、操作系统(Debian)层面优化

1. 内核参数调优(sysctl)

编辑 /etc/sysctl.conf

# 网络连接
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30

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

# 内存与交换
vm.swappiness = 10
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5

应用:

sysctl -p

2. 文件描述符限制

编辑 /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536

确认:

ulimit -n

3. 关闭不必要的服务

systemctl disable bluetooth
systemctl disable cups
systemctl disable avahi-daemon

二、JVM 优化(最关键)

WebLogic 默认使用 HotSpot JVM,优化重点在 内存、GC、线程

1. 推荐 JVM 参数(示例:16G 内存)

编辑 setDomainEnv.sh 或启动脚本:

-Xms8g
-Xmx8g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=1024m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+ParallelRefProcEnabled
-XX:+DisableExplicitGC

建议

  • 生产环境 Xms = Xmx
  • 优先使用 G1GC(JDK 8u191+)
  • 避免 CMS(已废弃)

2. 内存估算原则

用途 建议
OS 2~4 GB
WebLogic 剩余 70%
单实例 ≤ 32 GB

三、WebLogic Server 优化

1. 线程池优化

Console 路径:

Environment → Servers → <Server> → Configuration → Tuning

推荐设置:

  • Execute Queue Threads:200–800(视 CPU 核数)
  • Accept Backlog:1024
  • Socket Readers:2–4

2. JDBC 数据源优化

重点参数:

  • Initial Capacity:10
  • Max Capacity:CPU 核数 × 2~4
  • Statement Cache Size:50–100
  • Test Connections On Reserve:✅

3. JMS 优化

  • 使用 File StoreJDBC Store
  • 异步投递
  • 控制消息 TTL

4. 关闭不必要的服务

  • 禁用 IIOP(不用 EJB 远程调用)
  • 禁用 JTA(不用分布式事务)
  • 禁用 Web Services

四、网络与连接优化

1. HTTP / HTTPS

  • 启用 KeepAlive
  • 增大 Accept Backlog
  • 使用 Nginx / Apache 做前置代理

2. Debian 网络参数

net.core.somaxconn = 4096
net.ipv4.ip_local_port_range = 1024 65000

五、日志与监控

1. 日志优化

  • 关闭 Debug 日志
  • 使用 log rotation
  • 生产环境日志级别:INFOWARN

2. 监控建议

  • JVM:GC、堆、线程
  • WebLogic:线程池、JDBC、JMS
  • 工具:
    • WLST
    • Prometheus + JMX Exporter
    • Grafana

六、常见性能问题排查

问题 排查
CPU 高 jstack、top
内存泄漏 jmap + MAT
请求慢 线程阻塞、DB
GC 频繁 GC 日志

七、总结(快速优化清单)

✅ Debian
✅ JVM(G1GC + 固定堆)
✅ WebLogic 线程池
✅ JDBC 连接池
✅ 日志 & 监控
✅ 关闭无用功能


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

  • WebLogic 版本(12c / 14c)
  • JDK 版本
  • 服务器内存 & CPU
  • 是否集群

我可以给你 一份针对你环境的定制优化方案

0