温馨提示×

怎样优化Debian的WebLogic

小樊
39
2026-07-06 19:16:52
栏目: 智能运维

优化 Debian 上的 WebLogic 主要集中在 操作系统层、JVM 层、WebLogic 自身配置、以及应用架构 四个层面。下面按实战经验给你一个系统化的优化清单(适用于 WebLogic 12c/14c,Debian 10/11/12)。


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

1. 内核参数调优(sysctl)

编辑 /etc/sysctl.conf

# 网络性能
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

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

# 内存
vm.swappiness = 10
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5

执行:

sysctl -p

2. 文件描述符限制

编辑 /etc/security/limits.conf

weblogic soft nofile 65536
weblogic hard nofile 131072
weblogic soft nproc 65536
weblogic hard nproc 131072

确认 PAM 已启用:

grep pam_limits /etc/pam.d/common-session

3. 关闭不必要的服务

systemctl disable bluetooth cups avahi-daemon

二、JVM 优化(非常关键)

1. 推荐 JVM

  • 首选: Oracle JDK / OpenJDK HotSpot
  • 版本: JDK 11(WebLogic 14c)或 JDK 8(12c)

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

WebLogic 12c(JDK 8)

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

WebLogic 14c(JDK 11)

-Xms8g
-Xmx8g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+HeapDumpOnOutOfMemoryError

建议 Xms = Xmx,避免动态扩容带来的抖动。


3. 修改 WebLogic JVM 参数

编辑:

$DOMAIN_HOME/bin/setDomainEnv.sh

或修改:

$WL_HOME/common/bin/commEnv.sh

三、WebLogic 自身优化

1. 线程池优化

Console 路径:

Environment → Servers → your_server → Thread Pools

推荐:

  • Self-Tuning Thread Pool:默认即可
  • 自定义 Work Manager(高并发场景)

2. JDBC 数据源优化

关键参数:

参数 建议
Initial Capacity 10
Max Capacity 50–200
Min Capacity 10
Statement Cache Size 100
Test Connections On Reserve
Inactive Connection Timeout 60s

3. 关闭多余服务

Console 中禁用:

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

4. 日志优化

减少 I/O 压力:

<log>
  <file-min-size>5000</file-min-size>
  <rotation-type>bySize</rotation-type>
  <number-of-files-limited>true</number-of-files-limited>
  <file-count>5</file-count>
</log>

四、网络与连接优化

1. 启用 Native IO

$WL_HOME/server/native/linux/x86_64/

确认:

Server → Configuration → Tuning → Enable Native IO

2. 调整 Accept Backlog

Server → Configuration → Tuning
Accept Backlog = 4096

五、应用层优化建议

  • 使用 连接池 而非直连 DB
  • 静态资源走 Nginx / Apache
  • 避免 session 复制(除非必须)
  • EJB 尽量不用
  • 使用 异步 Servlet / Work Manager

六、监控与排障工具

1. JVM 监控

jstat -gcutil <pid> 1000
jcmd <pid> VM.info

2. WebLogic 监控

  • Console → Monitoring
  • SNMP / JMX
  • Prometheus + JMX Exporter(推荐)

七、典型优化效果

场景 优化前 优化后
TPS 800 3000+
响应时间 600ms 150ms
Full GC 频繁 几乎无

八、是否需要我进一步帮你?

你可以直接告诉我:

  1. WebLogic 版本
  2. JDK 版本
  3. 并发量 / TPS
  4. 是否有数据库
  5. 是否部署在物理机 / 虚拟机 / 容器

我可以给你 一份针对你环境的完整参数模板

0