一、JVM参数优化:调整内存与垃圾回收
JVM是WebLogic运行的基础,合理的参数配置能显著提升运行效率。首先,扩大堆内存:通过-Xms
(初始堆大小)和-Xmx
(最大堆大小)参数设置相同值(如-Xms2048m -Xmx2048m
),避免堆内存动态扩展带来的性能损耗;其次,调整永久代/元空间(Java 7及以前需设置-XX:PermSize
和-XX:MaxPermSize
,如-XX:PermSize=512m -XX:MaxPermSize=512m
;Java 8及以上无需此设置,改用元空间);最后,选择高效垃圾回收器:优先使用G1垃圾回收器(-XX:+UseG1GC
),它在高并发场景下能减少停顿时间,提升吞吐量。
二、操作系统参数优化:提升系统资源利用率
CentOS的系统参数直接影响WebLogic的资源获取能力。一是调整文件描述符限制:临时修改可通过ulimit -n 65535
命令,永久修改需编辑/etc/security/limits.conf
文件,添加* soft nofile 65535
和* hard nofile 65535
,避免高并发连接时文件描述符耗尽;二是优化TCP/IP参数:编辑/etc/sysctl.conf
文件,添加net.ipv4.tcp_tw_reuse=1
(复用TIME_WAIT连接)、net.ipv4.tcp_fin_timeout=30
(缩短FIN等待时间)、net.core.somaxconn=1024
(增加监听队列长度),然后执行sysctl -p
使配置生效,提升网络吞吐量。
三、WebLogic服务器配置优化:合理分配并发资源
WebLogic的线程池和连接池配置需匹配应用负载。线程池调整:通过管理控制台或config.xml
文件修改ExecuteQueue
的ThreadCount
(如设置为100-200,根据CPU核心数调整),避免线程过多导致上下文切换开销;连接池优化:设置JDBCConnectionPool
的MaxCapacity
(如200)和InitialCapacity
(如50),并启用PreparedStatementCacheSize
(如100),减少数据库连接创建和SQL编译次数;启用Native IO:在config.xml
中设置Server
元素的NativeIOEnabled=true
(默认开启),使用平台优化的本地socket多路复用,提升I/O性能。
四、监控与调优:持续优化性能
通过监控工具识别性能瓶颈是关键。可使用内置工具:WebLogic管理控制台的“监控”模块查看线程池、连接池、JVM内存等指标;JMX工具:如JConsole、VisualVM连接WebLogic服务器,实时监控线程状态、堆内存使用等;第三方工具:如Oracle Enterprise Manager Cloud Control(OEMC),提供全面的性能分析和告警功能,帮助快速定位问题。
五、其他优化措施:减少不必要开销
firewalld
、NetworkManager
,执行systemctl stop firewalld
和systemctl disable firewalld
),减少系统资源占用;noatime
选项,减少文件访问时间记录);permissive
模式(编辑/etc/selinux/config
文件,设置SELINUX=permissive
),减少权限检查对性能的影响;