WebLogic运行需突破CentOS默认资源限制,避免因进程数、文件句柄数不足导致性能瓶颈。
/etc/security/limits.conf
,添加以下配置(以weblogic
用户为例):weblogic soft nproc 2048
(软限制:进程数上限)、weblogic hard nproc 4096
(硬限制:进程数上限)、weblogic soft nofile 65536
(软限制:打开文件数上限)、weblogic hard nofile 65536
(硬限制:打开文件数上限)。/etc/sysctl.conf
,添加fs.file-max = 2097152
(系统最大文件句柄数),执行sudo sysctl -p
使配置生效。调整内核参数以提升网络、内存与磁盘I/O性能:
/etc/sysctl.conf
,添加以下配置:net.ipv4.tcp_tw_reuse = 1
(复用TIME_WAIT连接,减少连接建立开销)、net.ipv4.tcp_fin_timeout = 30
(TIME_WAIT状态超时时间,单位秒)、net.core.somaxconn = 1024
(监听队列最大长度,避免连接拒绝)、net.core.rmem_max = 16777216
(接收缓冲区最大大小)、net.core.wmem_max = 16777216
(发送缓冲区最大大小)。执行sudo sysctl -p
生效。/etc/sysctl.conf
,设置vm.swappiness = 10
(降低系统对Swap分区的依赖,优先使用物理内存),执行sudo sysctl -p
生效。JVM内存与垃圾回收配置直接影响WebLogic的稳定性和吞吐量,需根据应用类型(如Java EE应用、微服务)调整:
$DOMAIN_HOME/bin/setDomainEnv.sh
,设置初始堆(-Xms
)与最大堆(-Xmx
)为相同值(避免堆扩容带来的性能波动),例如:export MEM_ARGS="-Xms2048m -Xmx2048m"
(根据服务器物理内存调整,建议不超过物理内存的70%)。-XX:MetaspaceSize=256m
(初始元空间大小)、-XX:MaxMetaspaceSize=512m
(最大元空间大小)。-XX:+UseG1GC
),高吞吐量应用推荐使用Parallel GC(-XX:+UseParallelGC
)。-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/path/to/gc.log
,便于分析GC频率与耗时。线程池大小决定WebLogic处理并发请求的能力,需根据任务类型调整:
MinPoolSize
)与“最大线程数”(MaxPoolSize
)。$DOMAIN_HOME/config/config.xml
,在<server>
标签内添加:<thread-pool-params><min-threads-constraint><name>MyThreadPool</name><min-threads>100</min-threads></min-threads-constraint><max-threads-constraint><name>MyThreadPool</name><max-threads>200</max-threads></max-threads-constraint></thread-pool-params>
。连接池用于管理数据库连接,合理配置可提升数据库访问效率:
Initial Capacity
,初始连接数)、“最大容量”(Max Capacity
,最大连接数)、“最大异步请求数”(Max Async Requests
,并发请求数)。$DOMAIN_HOME/config/config.xml
,在<data-source>
标签内添加:<connection-pool-params><pool-size>32</pool-size><max-async-requests>32</max-async-requests></connection-pool-params>
。top
(查看CPU、内存使用率)、vmstat 1
(查看系统整体性能,如进程、内存、IO)、iostat -x 1
(查看磁盘IO详情,如读写速率、等待时间)、netstat -antp
(查看网络连接状态,如端口占用、连接数)。