在 Debian 上优化 WebLogic Server,通常从 操作系统层、JVM 层、WebLogic 自身配置、应用层 四个方面入手。下面给你一套比较系统、实战向的优化建议(适用于 WebLogic 12c/14c,在 Debian 10/11/12 通用)。
编辑 /etc/sysctl.conf:
# 网络
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
# 文件句柄
fs.file-max = 1000000
应用:
sysctl -p
编辑 /etc/security/limits.conf:
weblogic soft nofile 65536
weblogic hard nofile 65536
weblogic soft nproc 65536
weblogic hard nproc 65536
确认 PAM 启用:
grep pam_limits /etc/pam.d/common-session
systemctl disable bluetooth cups avahi-daemon
查看:
java -version
编辑:
$DOMAIN_HOME/bin/setDomainEnv.sh
示例(8G 内存服务器):
MEM_ARGS="-Xms4g -Xmx4g"
export MEM_ARGS
推荐参数(生产):
-Xms4g
-Xmx4g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+DisableExplicitGC
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=$DOMAIN_HOME/logs
✅ Xms = Xmx,避免动态扩容
WebLogic 默认自调优,但建议显式配置:
Console 路径:
Environment → Servers → your_server → Configuration → Threads
推荐:
关键参数:
| 参数 | 建议 |
|---|---|
| Initial Capacity | 10 |
| Max Capacity | 50–200 |
| Statement Cache Size | 50 |
| Test Connections | ON |
SQL 测试示例:
SELECT 1 FROM DUAL
Console 中关闭:
确认使用本地 IO:
Servers → your_server → Configuration → Tuning
✅ Enable Native IO
Servers → Configuration → General
Accept Backlog = 2048
通过 WebLogic 或前置 Nginx 实现(推荐 Nginx)。
生产环境:
WARNING 或 ERROR
避免:
DEBUG / INFO
Domain → Log → Rotation
Type: By Size
Size: 50MB
Nginx → WebLogic
Nginx 负责:
top
htop
vmstat 1
iostat -x 1
kill -3 <pid>
如果你愿意,可以告诉我:
我可以给你一份 针对你环境的精确优化参数。