centos里weblogic性能如何优化
导读:CentOS 上 WebLogic 性能优化实操指南 一 系统层优化 资源与内核 关闭不必要的系统服务,释放内存与 CPU;为 WebLogic 进程设置 CPU 亲和与 NUMA 绑定(如 taskset、numactl),减少上下文...
CentOS 上 WebLogic 性能优化实操指南
一 系统层优化
- 资源与内核
- 关闭不必要的系统服务,释放内存与 CPU;为 WebLogic 进程设置 CPU 亲和与 NUMA 绑定(如 taskset、numactl),减少上下文切换与跨 NUMA 访问开销。
- 调整虚拟内存与 I/O:降低 vm.swappiness,优化脏页刷写阈值;为 SSD/NVMe 选择合适的 I/O 调度器(如 noop/deadline/cfq);使用 iostat 持续观察磁盘负载。
- 文件句柄与进程数:提升 ulimit -n(如 65535)并写入 /etc/security/limits.conf 永久生效;必要时增大最大进程 ID 数量。
- 网络栈
- 增大连接队列与端口范围:提升 net.core.somaxconn、net.ipv4.tcp_max_syn_backlog,扩大本地端口范围 net.ipv4.ip_local_port_range。
- 优化缓冲与超时:适度增大 net.core.rmem_max / net.core.wmem_max,缩短 net.ipv4.tcp_fin_timeout,在延迟敏感场景可考虑启用 TCP_FASTOPEN;根据带宽时延选择合适的拥塞控制算法(如 BBR)。
- 可选:在 WebLogic 控制台将 Accept Backlog 提升到约 300–500,缓解高并发下连接排队与拒绝。
二 JVM 与 GC 调优
- 堆与非堆
- 生产环境将 -Xms 与 -Xmx 设为相同值,避免运行期扩缩堆带来的抖动;堆占用建议不超过物理内存的 ~70%,为 OS 与其他进程预留资源。
- Java 8+ 使用 Metaspace,建议设置上限(如 -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m),防止元空间无限增长。
- 垃圾回收器选择
- 吞吐量优先(Java 8):-XX:+UseParallelGC -XX:+UseParallelOldGC。
- 低延迟优先(Web 应用常用):-XX:+UseG1GC,可配合 -XX:MaxGCPauseMillis=200 等目标参数。
- 超大堆与极低暂停(Java 11+):-XX:+UseZGC 或 -XX:+UseShenandoahGC。
- 常用诊断与稳定性参数
- -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=…
- -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/path/gc_%t.log
- -XX:+DisableExplicitGC(避免应用误调用 System.gc)
- 配置位置
- 在 $DOMAIN_HOME/bin/setDomainEnv.sh 中设置 USER_MEM_ARGS 或通过控制台“服务器 → 启动参数”注入。
三 WebLogic 服务层优化
- 执行线程与工作队列
- 结合 CPU 核数、I/O 等待与应用特征调整线程池;通过控制台观察吞吐量与队列等待数,逐步微调至稳定拐点。
- JDBC 连接池
- 基本原则:Initial Capacity ≈ Maximum Capacity ≥ 执行线程数;如单线程会取多个连接或存在突发峰值,可适当放大。生产上常关闭 Allow Shrinking,避免周期性收缩带来的抖动。
- 连接健康:按需启用 Test Reserved Connections(通常仅保留此项即可,注意约有 ~3% 性能开销);网络不稳时配置 重试创建 与合理的 登录延迟。
- 泄漏治理:启用 Inactive Connection Timeout(默认 60 秒)回收长期占用连接;若确认无泄漏可设为 0 禁用。
- 性能增强:开启 Statement Cache(LRU 或 Fixed),减少数据库侧语句解析与准备开销;对高并发短事务可考虑 Pinned-To-Thread 降低锁竞争(需评估连接占用)。
- 协议与 I/O
- 在可用情况下启用 Native I/O 提升网络与 I/O 处理效率。
四 应用与部署配置
- 运行模式与基础安全
- 生产环境启用 产品模式;以 非 root 用户运行;关闭示例应用与默认账户;更改默认端口;限制打开套接字数量;开启日志与审计。
- 开发期便利开关(生产请关闭)
- 将 Servlet 重新加载检查、JSP 页检查设为 -1 关闭热加载;减少 System.out.println 与过度日志,降低 I/O 压力。
- 反向代理与静态资源
- 前置 Nginx/Apache 作为反向代理与静态资源服务器,利用其异步非阻塞架构卸载连接与静态内容,提高整体吞吐与稳定性。
五 监控 压测与迭代
- 监控与诊断
- 使用 WLST 脚本与 JMX(如 JConsole)持续采集线程、队列、JVM GC、数据源等指标;必要时引入 OEM Cloud Control 做容量与性能分析。
- 系统侧使用 top/htop、dstat、sar、iostat、journalctl、logrotate 观察资源与日志异常。
- 压测与基线
- 先建立默认配置的性能基线,再按“每次仅调整 1–2 个参数”的策略迭代;在仿真生产负载下压测,验证吞吐、延迟、错误率与 GC 行为,确认稳定后再推广。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos里weblogic性能如何优化
本文地址: https://pptw.com/jishu/770667.html
