性能調優及UNIX操作
發表于:2008-08-25來源:作者:點擊數:
標簽:
主要內容 1、WebLogic服務的監控 2、WebLogic 性能 優化 3、 UNIX 操作命令介紹 WebLogic服務的監控 WebLogic的控制臺console對內存的監控 Console -- server -- myserver -- 右邊窗口Mornitoring -- Performance WebLogic服務的監控 Idle Threads 空閑線程數
主要內容
• 1、WebLogic服務的監控
• 2、WebLogic
性能優化
• 3、
UNIX操作命令介紹
WebLogic服務的監控
• WebLogic的控制臺console對內存的監控
• Console --> server --> myserver --> 右邊窗口Mornitoring --> Performance
WebLogic服務的監控
• Idle Threads 空閑線程數
這個值不能為0,否則意味著系統無線程可用,有死機的危險.
• Queue Length 等待隊列的長度
當Idle Threads的值為0時,Queue Length會出現數值。如果Queue Length維持在較高位置,且不下降時,有死機危險。但只要值在變,就說明系統還在運行.
WebLogic服務的監控
• Memory Usage 內存的使用情況
主要看垃圾回收是否頻繁,在系統高負載的情況下,內存是否能達到80-90%的使用率。
WebLogic服務的監控
• 查看線程的運行情況
線程是否都為空閑null狀態。如不為空閑,看看是什么樣的請求在占用線程。
Console --> server --> myserver --> 右鍵菜單View Execute Threads
如下圖所示:
WebLogic服務的監控
• Current Request 當前線程正在處理的請求
• 被占用的線程的情況:46、48、49
占用內容:Socket Reader Request
WebLogic性能優化——內存
一般建議正式的域(Domain)設置為-Xms1024m -Xmx1024m,表示堆的初始大小和最大值都是1024M。
1、修改文件:
Unix為startWebLogic.sh或startManagedWebLogic.sh(集群用);
Windows系統為startWebLogic.cmd或startManagedWebLogic.cmd(集群用)。
• 2、修改位置:為保證我們修改的參數生效,最好將內存參數命令行放在啟動
Java虛擬機之前。示例如下:
WebLogic性能優化——內存
• export CLASSPATH
• MEM_ARGS="-Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
• # Call WebLogic Server
• echo "."
• echo "CLASSPATH=${CLASSPATH}"
• echo "."
• echo "PATH=${PATH}"
• echo "."
• echo "***************************************************"
• echo "* To start WebLogic Server, use a username and *"
• echo "* password assigned to an admin-level user. For *"
• echo "* server administration, use the WebLogic Server *"
• echo "* console at
http://[hostname]:[port]/console *"
• echo "***************************************************"
• ${JAVA_HOME}/bin/
java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -D
weblogic.Name=${SERVER_NAME} -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" weblogic.Server
WebLogic性能優化——內存
• 3、注意Unix與Windows的參數差別。AIX和
Linux的參數值要加上雙引號,Windows則不需要加。如該加的沒加,不該加的加了,就會導致設置的參數不起作用,影響應用系統的性能。
• 4、
Unix系統下參數是否生效的檢查??梢允褂萌缦旅睿?BR> ps –ef|grep java
如果設置的參數生效,在顯示的結果中會看到設置的值。如沒有生效,會顯示weblogic缺省的值-Xms32m –Xmx200m。
WebLogic性能優化——內存
• 5、Windows下可以使用echo命令,在startWebLogic.cmd文件中查看
echo %MEM_ARGS%
會在dos窗口中輸出內存設置的信息。
WebLogic性能優化——線程數
• 線程數Thread Count
weblogic服務在接收到請求后,會交給后臺的線程來處理,線程數決定了并發處理能力的大小。
一般以
服務器的CPU個數為基準,每個CPU可負擔25個線程,最好不要超過50個
• 查看線程的運行情況,上面已經提到。
WebLogic性能優化——線程數
• 更改線程數Thread Count
server ——> 右鍵菜單 ——> “View Execute Queues”項查看,如下圖:
點擊“default”,進入修改頁面:
WebLogic性能優化——線程數
• 修改了thread count的值后,要點擊“應用(Apply)”按鈕,并重啟服務后,參數才能生效。
WebLogic性能優化——連接池
•
數據庫連接池的初始連接數建議200或以上,如資源允許可設置得更大,但不能操作最大連接數,最大連接數設置800。
•
Oracle的參數processes設置為1000或以上。
• 查看連接池:console->services ->Connection Pools
修改參數
WebLogic性能優化——License
• Weblogic實行License許可制度,免費
下載軟件使用的license是受限制的,各個方面都會受到限制。
• license文件的文件名為license.bea,位于weblogic的安裝根目錄下。
• 文件如下:
WebLogic性能優化——License
• <bea-licenses>
• <license-group format="1.0" product="WebLogic Platform" release="8.1">
• <license
• component="2PC"
• cpus="unlimited"
• expiration="never"
• ip="any"
• licensee="BEA Commercial Customer"
• type="Commercial"
• units="unlimited"
• signature="zH
CClaqBLPISe/tJfo8vPBecDtE=0MCwCFCMCc6O2WuIwtrJyR7i2IkivYYfh
bug=="
• />
WebLogic性能優化——License
• 主要檢查4項:cpu、expiratioin、ip、units。
• cpu:支持服務器使用cpu的數量,一般來說服務器都是多cpu的,如果這個值為1或2,等固定的數值,會限制服務器性能的發揮。unlimited表明沒有限制,是最好的。
• expiration:表明license文件的使用期限,如果是固定的日期,那么過了此日期,weblogic就不能使用了。而且license文件的內容是不能修改的,不能通過修改此值的方式實現繼續使用的目的。never表明永不過期。
WebLogic性能優化——License
• ip:限制了服務器的ip地址,其他ip地址不可以使用。any表示沒有ip地址方面的限制。
原文轉自:http://www.anti-gravitydesign.com