温馨提示×

centos如何调优weblogic

小樊
37
2026-10-18 01:46:49
栏目: 智能运维

在 CentOS 上调优 WebLogic,通常从 操作系统层(CentOS)、JVM 层、WebLogic 自身配置 三个维度来做。下面按实战顺序说明。


一、CentOS 操作系统层调优

1. 内核参数调优(/etc/sysctl.conf)

WebLogic 是网络密集型应用,重点关注 TCP、文件句柄、内存。

# 文件描述符
fs.file-max = 6815744

# TCP 连接
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535

# 内存(大页可选)
vm.swappiness = 10

执行:

sysctl -p

2. 文件句柄限制(/etc/security/limits.conf)

WebLogic 用户(如 weblogic):

weblogic soft nofile 65535
weblogic hard nofile 65535
weblogic soft nproc 65535
weblogic hard nproc 65535

3. 关闭不必要的服务

systemctl stop firewalld
systemctl disable firewalld
# 或配置白名单

4. 磁盘与 I/O(可选)

  • 使用 SSD / RAID10
  • 日志与域目录分离
  • 关闭 atime:
mount -o remount,noatime /

二、JVM 调优(最关键)

WebLogic 默认使用 HotSpot JVM(JDK 8 常见)。

1. 修改启动参数

路径示例:

$DOMAIN_HOME/bin/setDomainEnv.sh

2. 推荐 JVM 参数(JDK 8)

-Xms4g
-Xmx4g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:/app/logs/gc.log

建议:

  • 堆内存 = 物理内存的 50%~70%
  • Xms = Xmx(避免动态扩容)

3. JDK 版本建议

  • WebLogic 12c → JDK 8
  • WebLogic 14c → JDK 11/17

三、WebLogic 配置调优

1. 线程池(Self-Tuning Thread Pool)

WebLogic 默认自动调优,一般不需要手动改,但可限制上限:

<server>
  <max-threads-constraint>
    <name>maxThreads</name>
    <count>200</count>
  </max-threads-constraint>
</server>

2. 连接池(JDBC)

Initial Capacity: 20
Max Capacity: 100
Min Capacity: 20
Statement Cache Size: 50

3. Accept Backlog(TCP 队列)

Administration Console
Server → Configuration → Tuning
Accept Backlog = 65535

4. 启用 Native IO

Server → Configuration → General
Enable Native IO = true

5. 关闭不必要的服务

  • EJB Timer(不用就关)
  • IIOP(不用的协议)
  • WebLogic T3(外部不访问可限制)

四、网络与应用层优化

  • 使用 Nginx / LVS 做前置
  • 静态资源走 Nginx
  • 启用 GZIP
  • Session 放 Redis(集群时)

五、监控与验证

1. 查看性能

top
vmstat 1
iostat -x 1
netstat -an | grep 7001 | wc -l

2. WebLogic 控制台

  • Monitoring → Performance
  • Thread Pool 使用率
  • JDBC 等待数

六、典型调优示例(8C16G)

-Xms8g
-Xmx8g
-XX:+UseG1GC
Max Threads = 200
JDBC Max = 100
Accept Backlog = 65535

如果你能提供:

  • CentOS 版本
  • WebLogic 版本
  • JDK 版本
  • 并发量 / 应用类型

我可以给你一套 精准参数模板。

0 踩