sudo apt update && sudo apt upgrade
),编辑/etc/sysctl.conf
优化内核参数(如增加文件描述符限制fs.file-max=65536
、调整TCP窗口大小net.core.rmem_max=16777216
),运行sudo sysctl -p
使配置生效;使用top
、htop
、iostat
监控系统资源,清理无用软件包(sudo apt autoremove
)和缓存(sudo apt clean
)以释放内存。taskset
或numactl
将WebLogic进程绑定到特定CPU核心(减少上下文切换)。-Xms
)与最大堆(-Xmx
)为相同值(避免动态扩展导致停顿),如-Xms4g -Xmx8g
;根据应用特点选择垃圾回收器(大内存堆推荐G1GC:-XX:+UseG1GC
,并调整最大停顿时间-XX:MaxGCPauseMillis=200
、堆占用率触发阈值-XX:InitiatingHeapOccupancyPercent=45
);优化元空间(-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1g
),避免元空间溢出。-Xss256k
,减少内存占用);启用分层编译(-XX:+TieredCompilation
)和调整编译阈值(-XX:CompileThreshold=1500
),提升JIT编译效率。-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/path/to/gc.log
),便于分析垃圾回收频率和停顿时间;必要时启用Flight Recorder(-XX:+UnlockCommercialFeatures -XX:+FlightRecorder
)进行深度诊断。setDomainEnv.sh
或WebLogic控制台设置线程池大小(-Dweblogic.threadpool.MinThreads=200
、-Dweblogic.threadpool.MaxThreads=400
),一般每个CPU核心分配25~50个线程(如4核CPU设置MinThreads=100
、MaxThreads=200
),避免线程过多导致上下文切换开销。Initial Capacity=10
)、最大容量(Max Capacity=200
)、容量增长(Capacity Increment=5
);启用连接测试(Test Table Name=SELECT 1 FROM DUAL
)、非活动连接超时(Inactive Connection Timeout=100s
),避免连接泄漏。Batch Size=100
),减少数据库交互次数;利用WebLogic分布式缓存(如Coherence)缓存频繁访问的数据(如配置文件、数据库查询结果),减少数据库负载。Accept Backlog
参数(如设置为300~500),增加TCP连接队列长度,避免连接数满导致的拒绝服务;启用SSL会话缓存(SSL Session Cache Size=1000
)和会话票证(SSL Session Ticket Enabled=true
),减少SSL握手时间(高并发场景下可降低约30%延迟)。SELECT *
、使用JOIN
替代子查询、使用绑定变量防止硬解析),定期通过数据库AWR报告分析慢查询。config/cache
目录下配置Cache Size=100MB
、TTL=3600s
),减少对静态资源(如图片、CSS)的重复请求;对频繁访问的业务数据(如商品信息、用户配置)使用分布式缓存(如Coherence),提升响应速度。@Asynchronous
注解、消息队列),避免阻塞主线程,提高并发处理能力。WebLogic Monitoring and Management (WLM)
工具监控线程使用率、数据库连接数、堆内存占用、GC频率等指标;集成第三方监控工具(如Prometheus+Grafana),实现实时性能可视化和告警(如当线程使用率超过80%时触发告警)。access.log
)和错误日志(server.log
),识别高频错误(如SQL异常、连接超时)和性能瓶颈(如某接口响应时间过长);通过jstack
、jmap
等工具分析线程dump和堆dump,定位死锁、内存泄漏等问题。