1. 系統級基礎優化
sudo apt update && sudo apt upgrade -y
確保系統軟件包為最新版本,修復潛在安全漏洞;使用sudo apt autoremove
清理不再需要的依賴包,釋放磁盤空間。/etc/sysctl.conf
文件,添加或修改以下參數以優化網絡和文件系統性能:net.ipv4.tcp_max_syn_backlog = 8192
(增加TCP SYN隊列長度,避免連接請求丟失)、net.core.somaxconn = 4096
(增大監聽隊列大小,提升并發連接處理能力)、fs.file-max = 65536
(增加系統最大文件描述符數量);運行sudo sysctl -p
使配置生效。sudo fallocate -l 1G /swapfile
(創建1GB交換文件)、sudo chmod 600 /swapfile
(設置權限)、sudo mkswap /swapfile
(格式化為交換空間)、sudo swapon /swapfile
(啟用交換文件);編輯/etc/fstab
文件,添加/swapfile none swap sw 0 0
以永久生效。2. WebLogic配置優化
setDomainEnv.sh
(位于域目錄的bin
文件夾)調整JVM堆內存參數,示例配置:export JAVA_OPTIONS="$JAVA_OPTIONS -Xms2g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200"
。其中,-Xms
(初始堆大?。┖?code>-Xmx(最大堆大?。鶕掌鲀却嬖O置(建議兩者相等,避免堆擴展帶來的性能損耗);-XX:+UseG1GC
啟用G1垃圾回收器(適合大內存應用,減少停頓時間);-XX:MaxGCPauseMillis
設置最大GC停頓時間目標(如200ms)。config/config.xml
文件中的<thread-pools>
部分,調整線程池大小以匹配應用并發需求。示例配置:<thread-pool name="myThreadPool" max-threads="200" min-threads="20" queue-capacity="100"/>
。max-threads
(最大線程數)通常設置為CPU核心數的2-4倍(如4核CPU設置為8-16);min-threads
(最小線程數)避免線程頻繁創建/銷毀的開銷;queue-capacity
(隊列容量)控制等待線程的數量(避免無限制排隊導致請求超時)。config/data-sources
目錄下的數據源配置文件中,調整連接池參數以提升數據庫訪問效率。示例配置:<jdbc-connection-pool name="myPool" initial-capacity="10" max-capacity="100" test-table-name="SELECT 1 FROM DUAL" inactive-connection-timeout-seconds="300" remove-infected-connections="false"/>
。initial-capacity
(初始連接數)設置為預期并發連接的1/4-1/2;max-capacity
(最大連接數)不超過數據庫的最大連接數限制;test-table-name
(測試表)用于驗證連接有效性;inactive-connection-timeout-seconds
(非活動連接超時)清理閑置連接(避免占用資源);remove-infected-connections
(移除感染連接)設為false
(減少連接重建開銷)。Configuration > Services > Caching
,開啟HTTP緩存(設置緩存大小和過期時間,如100MB、5分鐘);對于頻繁訪問的數據,使用Oracle Coherence分布式緩存(需額外配置Coherence集群),提升數據訪問速度。3. 操作系統資源限制調整
/etc/security/limits.conf
文件,添加以下行以提升每個用戶的文件描述符限制:* soft nofile 65536
(軟限制)、* hard nofile 65536
(硬限制);編輯/etc/pam.d/common-session
和/etc/pam.d/common-session-noninteractive
文件,添加session required pam_limits.so
(使限制生效)。修改后需重新登錄用戶(或重啟服務器)。4. 監控與持續優化
http://<server-ip>:7001/console
)導航至Monitoring > Performance
,查看JVM內存使用率、線程池狀態、數據庫連接池狀態等指標;啟用JMX(Java Management Extensions)遠程監控,通過jconsole
或VisualVM
工具實時監控性能。JAVA_OPTIONS
中添加-Xloggc:/path/to/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps
參數,開啟GC日志記錄;使用gceasy.io
或GCViewer
工具分析日志,識別頻繁Full GC或長時間停頓的問題,調整GC策略(如增大堆大小、調整新生代/老年代比例)。logs/server.log
(服務器日志)和logs/access.log
(訪問日志),分析錯誤信息(如連接超時、SQL異常)和訪問模式(如高峰時段),針對性優化配置。