如何提升centos上weblogic效率
导读:一、操作系统级优化(CentOS基础配置) 1. 系统资源限制调整 文件描述符限制:WebLogic处理高并发时需大量文件描述符,需调整系统级和用户级限制。编辑/etc/security/limits.conf,添加: * soft no...
一、操作系统级优化(CentOS基础配置)
1. 系统资源限制调整
- 文件描述符限制:WebLogic处理高并发时需大量文件描述符,需调整系统级和用户级限制。编辑
/etc/security/limits.conf,添加:
* soft nofile 65535、* hard nofile 65535(软/硬限制均为65535);临时生效可使用ulimit -n 65535。 - TCP/IP参数优化:修改
/etc/sysctl.conf,添加以下参数以提升TCP连接处理能力:
net.ipv4.tcp_tw_reuse = 1(复用TIME_WAIT连接)、net.ipv4.tcp_fin_timeout = 30(FIN_WAIT2超时30秒)、net.core.somaxconn = 65535(监听队列最大长度)、net.ipv4.tcp_max_syn_backlog = 1024(SYN队列长度)。执行sysctl -p使配置生效。
2. 内核参数调优
- 内存管理:调整
vm.swappiness(交换空间使用倾向),设为10(值越小越倾向于使用物理内存,减少Swap交换);vm.dirty_ratio(脏数据写回阈值)设为10(当脏数据占比达到10%时触发写回),减少I/O压力。 - CPU调度:根据负载选择合适的I/O调度器(如SSD用
noop,机械硬盘用deadline),通过echo noop > /sys/block/sda/queue/scheduler修改。
二、JVM内存优化(关键性能瓶颈解决)
1. 内存参数配置
- 堆内存设置:根据服务器物理内存调整JVM堆大小(建议不超过物理内存的50%-60%),并将初始堆(
-Xms)与最大堆(-Xmx)设为一致,避免堆内存动态调整带来的性能损耗。例如:
-Xms4096m -Xmx4096m(4GB堆内存)。 - 永久代/元空间设置:Java 7及以前需设置永久代大小(
-XX:PermSize=512m -XX:MaxPermSize=512m);Java 8及以上改用元空间(无需手动设置,默认无上限)。 - 垃圾回收器选择:推荐使用G1GC(
-XX:+UseG1GC),适合大内存、低延迟场景,能有效减少Full GC停顿时间。
2. JVM启动脚本修改
- 编辑WebLogic启动脚本(如
setDomainEnv.sh,路径为/weblogic/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh),在JAVA_OPTIONS中添加上述JVM参数,确保启动时生效。
三、WebLogic服务器配置优化
1. 线程池调优
- 线程池大小设置:根据CPU核心数和应用负载调整线程池参数。默认线程数(
weblogic.threadpool.MinPoolSize)设为50,最大线程数(weblogic.threadpool.MaxPoolSize)设为CPU核心数×50(如4核CPU设为200)。通过WebLogic控制台:环境→服务器→选择服务器→配置→调优→线程池修改。
2. 连接池优化
- 连接池参数配置:登录WebLogic控制台→
服务→JDBC→数据源→选择数据源→配置→连接池,设置:- 初始容量(
Initial Capacity)= 最大容量(Maximum Capacity)≥ 执行线程数(避免运行时创建新连接的开销); - 容量增长(
Capacity Increment)设为0(避免动态扩容的性能损耗); - 非活动连接超时(
Inactive Connection Timeout)设为100秒(回收闲置连接,避免资源浪费); - 取消“Remove Infected Connections Enabled”(避免应用关闭逻辑连接后物理连接无法复用)。
- 初始容量(
- 高级参数优化:开启“测试保留的连接”(
Test Reserved Connections),确保应用获取的连接有效(默认不启用,避免3%左右的性能下降)。
3. 本地IO启用
- 通过WebLogic控制台:
环境→服务器→选择服务器→配置→调优,勾选“启用本地IO”(Enable Native IO),提升Socket读写的多线程效率(减少默认执行队列线程的借用)。
4. Accept Backlog调整
- 增加TCP连接缓存数,避免“连接拒绝”错误。通过WebLogic控制台:
环境→服务器→选择服务器→配置→调优,修改Accept Backlog(默认50)为300-500(根据并发量调整)。
四、应用层优化
1. Servlet/JSP配置
- 禁用Servlet自动重载:将
Servlet重新加载检查(Servlet Reload Check)设为-1(不检查),减少不必要的类加载开销; - 调整JSP编译参数:将
JSP页检查(JSP Page Check)设为-1(不检查),避免每次请求都检查JSP文件修改; - 单线程Servlet缓冲池:设置
单线程Servlet缓冲池大小(Single Threaded Servlet Pool Size)为5(默认值,满足多数场景)。
2. 日志与调试优化
- 关闭不必要的日志输出:减少
System.out.println语句(改用日志框架如Log4j),并将日志级别调整为WARN或ERROR(避免DEBUG级别的频繁日志写入); - 调整日志文件大小:通过
logrotate工具限制日志文件大小(如100MB),避免单个日志文件过大占用磁盘空间。
五、监控与持续调优
1. 性能监控工具
- 内置工具:使用WebLogic管理控制台的“监视→性能”标签,查看CPU、内存、线程池、连接池的使用情况;
- JMX监控:通过JConsole、VisualVM等工具连接WebLogic服务器,实时监控JVM内存、线程状态;
- 第三方工具:使用Oracle Enterprise Manager(OEM)或Prometheus+Granafa,实现全面的性能监控与告警。
2. 持续调优策略
- 基准测试:优化前使用JMeter、LoadRunner等进行基准测试,记录响应时间、吞吐量等指标;
- 逐步调整:每次只调整1-2个参数(如先调线程池,再调连接池),观察性能变化后再调整下一个参数;
- 定期复查:根据业务增长(如并发量增加)定期复查配置参数,确保适应新的负载需求。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何提升centos上weblogic效率
本文地址: https://pptw.com/jishu/739428.html
