在 Debian 上优化 WebLogic 性能,通常可以从操作系统层面、JVM 层面、WebLogic 配置层面、应用层面四个方向入手。下面给你一套比较系统、可落地的优化思路。
针对高并发和网络连接:
# 增加文件描述符
fs.file-max = 655360
# TCP 优化
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
# 内存与 swap
vm.swappiness = 10
vm.dirty_ratio = 10
执行:
sysctl -p
编辑 /etc/security/limits.conf:
weblogic soft nofile 65535
weblogic hard nofile 65535
weblogic soft nproc 65535
weblogic hard nproc 65535
注意:WebLogic 运行用户不要直接用 root
systemctl disable bluetooth
systemctl disable cups
减少系统资源占用。
WebLogic 依赖 JVM,Debian 上通常用 OpenJDK / Oracle JDK。
路径示例:
$DOMAIN_HOME/bin/setDomainEnv.sh
export USER_MEM_ARGS="-Xms4g -Xmx4g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m"
✅ 生产环境:Xms = Xmx,避免动态扩容
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:/opt/logs/weblogic/gc.log
-XX:+UseG1GC
-Xlog:gc*:file=/opt/logs/weblogic/gc.log:time
WebLogic 默认是自调优线程池,不要手动写死。
但可优化:
一般:
Initial Capacity = 10
Max Capacity = 100
Min Capacity = 10
Statement Cache Size = 50
Test Connections On Reserve = true
Console → Server → Configuration → Tuning:
Debian 需安装:
apt install libaio1
Nginx / Apache → WebLogic
Console → Server → Protocols → HTTP:
top
htop
vmstat 1
iostat -x 1
netstat -an | grep ESTABLISHED | wc -l
| 问题 | 可能原因 |
|---|---|
| CPU 高 | GC 频繁 / 死循环 |
| 内存涨 | 内存泄漏 / 堆太小 |
| 连接超时 | 线程池满 / DB 慢 |
| TPS 低 | Native IO 未开 |
-Xms8g -Xmx8g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
JDBC Max=200
Thread Max=600
如果你愿意,可以告诉我:
我可以给你一套精确的参数模板。