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(查看网络连接状态,如端口占用、连接数)。