Debian上WebLogic性能调优策略
sudo apt update && sudo apt upgrade
确保系统软件包最新;使用sudo apt autoremove
清理无用软件包,sudo apt clean
清理缓存,释放磁盘空间。/etc/sysctl.conf
优化网络与文件系统参数(如net.core.somaxconn
提升TCP连接队列长度、fs.file-max
增加系统最大文件描述符数),运行sudo sysctl -p
使配置生效。-Xms
)与最大堆(-Xmx
)大小(如-Xms4g -Xmx8g
),避免堆内存动态扩展带来的性能损耗;建议两者设置为相同值,减少GC频率。-XX:+UseG1GC
),适合大内存堆,可通过-XX:MaxGCPauseMillis=200
设置最大GC停顿时间(目标200ms以内),-XX:InitiatingHeapOccupancyPercent=45
调整触发并发GC的堆占用率(45%时启动)。-XX:MetaspaceSize=512m
)与最大大小(-XX:MaxMetaspaceSize=1g
),避免元空间溢出;调整线程栈大小(-Xss256k
),减少内存占用。-XX:+TieredCompilation
)提升热点代码编译效率,调整编译阈值(-XX:CompileThreshold=1500
)减少编译次数。setDomainEnv.sh
设置线程池最小(-Dweblogic.threadpool.MinThreads
)与最大(-Dweblogic.threadpool.MaxThreads
)线程数(如MinThreads=200
、MaxThreads=400
),根据服务器CPU核心数调整(一般每核心25-50个线程)。initialCapacity=10
)、最大容量(maxCapacity=200
)、容量增长(capacityIncrement=5
)、连接超时(connectionTimeout=30000
);启用JDBC批处理(batchProcessingEnabled=true
)提升批量操作性能。session-timeout=30
分钟),启用会话缓存(如分布式缓存)减少会话创建与销毁开销。AcceptBacklog
(如设置为300-500)增加TCP连接队列长度,避免高并发下连接被拒绝;启用Keep-Alive(KeepAliveEnabled=true
)减少连接建立开销。SELECT *
,使用索引覆盖查询;优化JOIN
操作(确保关联字段有索引);减少子查询嵌套,用JOIN
替代低效子查询;使用绑定变量(如PreparedStatement
)避免SQL硬解析。ALTER INDEX ... REBUILD
)清理碎片,删除无效索引。config/cache
目录下配置),缓存静态资源(如图片、CSS);利用分布式缓存服务(如Oracle Coherence)缓存频繁访问的业务数据(如用户信息、商品详情)。-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/path/to/gc.log
),使用工具(如GCViewer)分析GC停顿时间;定期检查WebLogic访问日志与错误日志,定位性能瓶颈。HashMap
替代ArrayList
用于快速查找);减少不必要的对象创建(如使用对象池复用对象),避免内存泄漏。@Async
注解或消息队列),提升应用响应速度。