一個典型的J2EE系統由DB、應用、應用(WEB)服務器、JVM組成。
調優可分別針對這幾個部分調優,下面介紹一下各個部分調優的一些經驗。
1. DB調優:DB調優主要關注下面幾個方面:1)選擇合適索引;2)避免復雜查詢;3)盡量將復雜運算挪到應用中,以降低DB復雜,因為讓應用可伸縮的代價遠比讓DB可伸縮的代價低;4)避免關聯查詢;調優的過程中,可借助Oracle的sql將比較耗時的SQL查詢出來,再針對性的優化。
2. 應用調優:應用調優主要分成兩個方面:1)用Jprofiler或optimizeit等工具找出執行比較耗時的代碼,并針對性的優化;2)應用運行時,通過打JVM的堆棧來分析應用的線程是否因資源競爭導致block,然后導致CPU無法充分利用,從而應用性能上不去,找出性能瓶頸后可針對性的做優化。
3. 應用服務器調優:主要調節數據庫連接池大小,連接數大?。╰omcat就有連接數大?。┑?br />
4. JVM調優:主要針對應用的特點,調整JVM參數,使應用運行更穩定。
判斷性能調優是否到位的方法是看數據庫服務器和應用服務器的CPU占用率,首先要確認不是內存的問題,確認服務器沒有產生頁面交換;然后就看應用側和DB側的CPU是否能夠達到90%以上了,一般來講,要求應用側的CPU使用率達到90%以上。