2014-09-30 10:26:29
| 分類:
預設分類|舉報
|字型大小訂閱
一、背景
最近負責做乙個平台的poc測試,效能測試要求測試1000併發下平台的表現,web伺服器採用的是weblogic,版本是11g,10.3.6,所有操作都是基於這個版本(因為以前修改執行緒數的操作有些基於這個版本不能生效)。在loadrunner壓1000併發下,發現應用表現並不好,響應時間明顯增加。
二、分析
監控伺服器資源,發現集群平台伺服器負載並不高,而web應用伺服器負載同樣也不高,伺服器效能並沒達到瓶頸。進入weblogic控制台,檢視執行緒池,發現在壓1000併發的時候,請求積壓佇列明顯較多,而執行緒數只有50左右。說明一下,weblogic產品模式下,預設初始執行緒數為25,開發模式下好像是15,weblogic11g採用的是自調整執行緒池,看名字就可以猜出,他會根據應用情況自動增加減少執行緒數,而實際情況下,在壓力增大的情況下,weblogic也確實增加了執行緒數,但是增加的執行緒數不足以應付該需求,於是自然而然地想到了增加執行緒數。
三、解決
weblogic11g已經不支援在控制台修改執行緒數,只能通過配置檔案,網上有朋友說可以通過增加weblogic啟動引數來配置執行緒數:
-dweblogic.threadpool.minpoolsize=100
-dweblogic.threadpool.maxpoolsize=500
該方法經試驗,並不能生效,還好還一種方法,修改域下面conf裡面的config.xml檔案:
adminserver
400
400
四、總結
1、出現效能瓶頸時,先找出現瓶頸的地方,是應用伺服器還是資料庫伺服器
2、判斷是否需要修改weblogic執行緒數以及資料庫連線池的值
3、多次測試,得出一組合適的weblogic執行緒數的值以及資料庫連線數的值
關於WebLogic的Session丟失的問題
最近在把tomcat下的程式遷移到weblogic上的時候遇到了問題,我的程式中有乙個過濾器,這個過濾器主要用來檢查當前使用者訪問的資源是否需要認證,如果需要認證並且沒有認證的話,則跳轉到另外乙個認證伺服器上去做認證,認證通過後,再跳轉回當前伺服器繼續訪問請求的資源。這個過濾器在tomcat下執行的...
關於星期幾的判斷
今天作業中遇到了一道關於根據具體日期判斷星期幾和根據年月輸出日曆的問題。這應該是一道很經典的問題,恰好乙個月前我大學班上的乙個同學面試的機試題中就有這樣一道題,解法是多種多樣,這裡我列出我自己認為比較方便的一種方法。基姆拉爾森法 法一 基姆拉爾森法 if month 1 month 2 求出星期數 ...
C 關於路徑的幾則筆記
本文基於windows下的操作 windows 7 x64 unity 5.3.7p4 我們想要獲取它的路徑,可以通過以下方式 使用path var dir path.getdirectoryname filepath 使用directory var dir new directoryinfo fi...