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(查看網絡連接狀態,如端口占用、連接數)。