操作系统是WebLogic运行的基础,需优先调整内核参数以支持高并发:
ulimit -n临时修改(如ulimit -n 65535),并在/etc/security/limits.conf中永久添加* soft nofile 65535; * hard nofile 65535;同时修改/etc/sysctl.conf中的fs.file-max=2097152,执行sysctl -p使配置生效。/etc/sysctl.conf中添加:net.core.somaxconn=8192(增大连接队列)、net.ipv4.tcp_tw_reuse=1(复用TIME_WAIT连接)、net.ipv4.tcp_fin_timeout=30(缩短TIME_WAIT超时),执行sysctl -p生效。线程池是并发处理的核心,需根据任务类型合理设置:
环境→服务器→选中目标服务器→配置→线程池,修改最小线程数(MinPoolSize)和最大线程数(MaxPoolSize)。config.xml,在<server>标签内添加<self-tuning-thread-pool-size-min>100</self-tuning-thread-pool-size-min>和<self-tuning-thread-pool-size-max>200</self-tuning-thread-pool-size-max>(支持动态调整)。setDomainEnv.sh中添加-Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=200,覆盖默认配置。合理的JVM配置可减少GC停顿,提升并发处理效率:
-Xms(初始堆)和-Xmx(最大堆)为相同值(如-Xms2048m -Xmx2048m),避免堆内存动态扩展带来的性能损耗。-XX:+UseG1GC),适合大内存、低延迟场景;Java 8及以上版本可使用ZGC(-XX:+UseZGC)进一步提升吞吐量。-Xss(如-Xss256k),减少每个线程的内存占用,增加线程数量。数据库连接池是IO密集型任务的瓶颈,需合理配置:
服务→数据源→选中目标数据源→配置→连接池,设置初始容量(Initial Capacity,如10)、最大容量(Max Capacity,如200)、容量增长(Capacity Increment,如10),避免频繁创建/销毁连接。processes参数),确保数据库能处理WebLogic的连接请求。减少应用自身的性能瓶颈,提升并发处理能力:
SELECT *、使用批量操作,减少数据库查询时间。持续监控系统性能,根据实际情况调整配置:
top(CPU/内存)、vmstat(系统级资源)、jstat(GC情况)、WebLogic控制台(线程池/连接池)等工具实时监控。