温馨提示×

centos中weblogic怎样优化

小樊
48
2026-10-09 07:33:15
栏目: 智能运维

在 CentOS 上优化 WebLogic Server,通常从 操作系统、JVM、WebLogic 自身配置、数据库连接、网络及应用层面 几个方面入手。下面给你一套比较系统、可落地的优化思路(以生产环境常见场景为主)。


一、CentOS 操作系统层面优化

1. 文件描述符(ulimit)

WebLogic 高并发时需要大量 socket 和文件句柄。

# 查看
ulimit -n

# 修改(临时)
ulimit -n 65535

# 永久修改
vi /etc/security/limits.conf
weblogic soft nofile 65535
weblogic hard nofile 65535

2. 内核参数优化

编辑 /etc/sysctl.conf:

net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600

执行:

sysctl -p

3. 关闭不必要服务

减少系统资源占用:

systemctl disable firewalld   # 若由硬件防火墙代替
systemctl disable postfix

二、JVM 优化(最重要)

WebLogic 默认 JVM 参数偏小,必须根据内存调整。

1. 设置堆内存

修改:

$DOMAIN_HOME/bin/setDomainEnv.sh

示例(32G 内存服务器):

USER_MEM_ARGS="-Xms16g -Xmx16g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1g"
export USER_MEM_ARGS

✅ 建议:

  • -Xms = -Xmx(避免动态扩容)
  • 不超过物理内存 50%~70%

2. 垃圾回收器选择

  • JDK 8
-XX:+UseParallelGC
# 或
-XX:+UseConcMarkSweepGC
  • JDK 11+
-XX:+UseG1GC

3. GC 日志(排查问题)

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

三、WebLogic 服务器配置优化

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

WebLogic 默认自动调整,但可限制最大值:

Console:

Environment → Servers → <Server> → Configuration → General
  • Maximum Threads Constraint:200~800(按业务)

2. Accept Backlog(连接队列)

Servers → <Server> → Configuration → Tuning
Accept Backlog = 4096

3. 启用 Native IO(提升性能)

确保使用:

/opt/weblogic/server/native/linux/x86_64

并在启动参数中启用:

-Dweblogic.nativeio.enabled=true

4. 关闭不必要的服务

  • IIOP(不用 CORBA 就关)
  • JMS(不用就关)
  • WebService(不用就关)

四、数据源(JDBC)优化

1. 连接池大小

Services → Data Sources → Connection Pool

示例:

Initial Capacity: 50
Max Capacity: 200
Min Capacity: 50

2. 连接回收

Test Connections On Reserve = true
Seconds to Trust an Idle Pool Connection = 10

3. 使用 Oracle/MySQL 原生驱动

避免通用 JDBC 驱动。


五、网络与应用层优化

1. 启用 GZIP(HTTP)

Servers → Protocols → HTTP
  • Enable GZIP Compression

2. 静态资源分离

  • 图片 / JS / CSS → Nginx / CDN
  • WebLogic 只处理动态请求

3. 使用 Nginx 反向代理

proxy_read_timeout 60s;
proxy_connect_timeout 10s;

六、日志优化(避免 IO 瓶颈)

1. 减少日志级别

Log Level: WARNING 或 ERROR

2. 分离日志目录

  • 系统盘 ≠ 日志盘
  • 使用独立磁盘或 SSD

七、监控与压测建议

常用工具

  • jstat -gcutil
  • jstack
  • WebLogic Console → Monitoring
  • Prometheus + Grafana

压测

  • JMeter
  • 逐步增加并发,观察 GC 和线程

八、典型优化效果示例

项目 优化前 优化后
TPS 300 1200+
响应时间 800ms 200ms
Full GC 频繁 几乎无

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

你可以告诉我:

  1. WebLogic 版本(10.3 / 12c / 14c)
  2. JDK 版本
  3. 服务器内存 & CPU
  4. 应用类型(ERP / 接口 / 网站)
  5. 当前瓶颈(CPU / 内存 / 连接数)

我可以直接给你 一份可用的参数模板。

0 踩