温馨提示×

WebLogic在Debian如何调优

小樊
42
2026-07-06 21:09:03
栏目: 智能运维

Debian 上部署 Oracle WebLogic Server 时,调优通常围绕 操作系统、JVM、WebLogic 自身、应用架构 四个层面进行。下面给你一套可落地的 WebLogic 调优指南(Debian 场景)


一、Debian 操作系统层面调优

1. 内核参数(sysctl)

编辑 /etc/sysctl.conf/etc/sysctl.d/99-weblogic.conf

# 网络
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

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

# 虚拟内存
vm.swappiness = 10
vm.dirty_ratio = 10

生效:

sysctl -p

2. 文件描述符限制(ulimit)

WebLogic 对 文件句柄 非常敏感。

编辑 /etc/security/limits.conf

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

如果使用 systemd 启动,还需要:

# /etc/systemd/system/weblogic.service
[Service]
LimitNOFILE=131072
LimitNPROC=65536

3. 关闭不必要的服务

systemctl disable bluetooth
systemctl disable cups

二、JVM 调优(最关键)

1. 推荐 JVM

  • Oracle JDK 8 / 11
  • OpenJDK 11+(LTS)

查看:

java -version

2. 设置 WebLogic JVM 参数

编辑:

$DOMAIN_HOME/bin/setDomainEnv.sh

示例(生产环境):

JDK 8(常用)

USER_MEM_ARGS="-Xms4g -Xmx4g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+ParallelRefProcEnabled
-XX:+DisableExplicitGC"
export USER_MEM_ARGS

JDK 11+

USER_MEM_ARGS="-Xms4g -Xmx4g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200"
export USER_MEM_ARGS

经验建议

  • Heap 不要超过物理内存的 70–80%
  • Xms = Xmx(避免动态扩容)
  • 生产环境 禁用 CMS,使用 G1

三、WebLogic Server 调优

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

WebLogic 10+ 使用 自调优线程池,一般不建议手动改。

但可限制最大值:

Servers → <server> → Configuration → Tuning
Maximum Queue Length = 4096
Stuck Thread Max Time = 600

2. JDBC 数据源调优

这是 性能瓶颈最常见的地方

建议配置:

  • Initial Capacity:10
  • Max Capacity:50–200(视并发)
  • Min Capacity:10
  • Statement Cache Size:50–100
  • Test Connections On Reserve:✅
  • Connection Creation Retry Frequency:10

3. 关闭不必要的服务

config.xml 或控制台中:

  • 禁用 IIOP
  • 禁用 JMS(不用时)
  • 禁用 Web Services
  • 禁用 JTA(不用分布式事务时)

4. 日志级别

生产环境:

Log Level: WARNING
Debug: 全部关闭

避免:

-Dweblogic.debug.DebugHttp

四、网络与 HTTP 调优

1. 启用 Native IO

确保使用:

Use Native IO = true

2. 连接参数

Accept Backlog = 4096
Login Timeout = 25

3. 前端代理(强烈推荐)

生产环境 不要直接暴露 WebLogic

推荐架构:

Nginx / Apache → WebLogic

好处:

  • 静态资源
  • 连接复用
  • SSL 卸载

五、Linux + WebLogic 常见性能问题排查

1. CPU 高

top -H -p <pid>
jstack <pid> > stack.txt

2. 内存泄漏

jmap -histo:live <pid>

3. GC 问题

-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:/logs/gc.log

六、Debian 特有注意事项

1. 时间同步

apt install chrony
systemctl enable chronyd

WebLogic 集群对时间非常敏感。


2. 磁盘调度

cat /sys/block/sda/queue/scheduler

推荐:

deadline / mq-deadline

七、推荐生产配置总结(示例)

项目 推荐
OS Debian 11/12
JVM JDK 11 LTS
Heap 4–8 GB
GC G1
文件句柄 ≥ 65536
线程池 自调优
数据源 连接池 + 缓存
前端 Nginx

八、如果你愿意,我可以进一步帮你

你可以直接告诉我:

  1. WebLogic 版本
  2. JDK 版本
  3. 单节点还是集群
  4. 主要用途(EJB / Servlet / JMS / 接口)
  5. 并发量(QPS / 用户数)

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

0