347
技術社區[雲棲]
websphere應用服務器性能調整建議,針對運行一段時間後當機
最近項目的websphere經常當機,運行一段時間後變慢然後當掉。查找了下網上的資料,盡管不是我在負責服務器,但是也是個學習的機會。
主要針對的症狀:
平台:was5.1 base,http server 1.3.28,oracle 8i,9i
症狀:用戶響應突然變慢,然後並連接不上80端口,重啟後正常,一段時間後反複
解決方式:調整服務器參數,增加服務器的處理能力
1,更改http server的配置文件參數KeepAlive。
原因:這個值說明是否保持客戶與HTTP SERVER的連接,如果設置為ON,則請求數到達MaxKeepAliveRequests設定值時請求將排隊,導致響應變慢。
方法:打開ibm http server安裝目錄,打開文件夾conf,打開文件httpd.conf,查找KeepAlive值,改ON為OFF,其默認為ON
2,更改http server的配置文件參數ThreadsPerChild值到更大數目,默認為50
原因:服務器響應線程的數量
方法:打開ibm http server安裝目錄,打開文件夾conf,打開文件httpd.conf,查找ThreadsPerChild值,默認為50,改到更大數目,視用戶數 多少而定,一般改到客戶機數量的1.1倍,如200台,則設為220
3,關閉http server日誌紀錄
原因:http server的日誌IO影響性能
方法:打開ibm http server安裝目錄,打開文件夾conf,打開文件httpd.conf,查找CustomLog值,找到沒有注釋的那行(行的開頭沒有符號"#"), 將那行用符號"#"注釋掉,以關閉日誌紀錄,提高處理性能。
4,更改Websphere的服務器處理線程數
原因:線程的數量影響同時並發的請求數量
方法:打開管理控製台,依次打開目錄樹,服務器->server1->web容器->線程池,修改"最大大小"的值,默認是50,改到 更大數目,具體視總用戶數量和機器的配置而定,一般設置其等於或小於http server設置的MaxKeepAliveRequests的值。
根據上麵的建議,查看了下我們的服務器配置情況,倒是沒什麼不同,實際上導致服務相應變慢到停止,一般是由兩個原因導致的
1,數據庫操作時間過長(如查詢),導致占用連結時間過長,然後後續請求無法及時取得連結響應請求
2,代碼中一定要確保連結關閉,尤其在jsp中。後台程序要在finally中關閉
由此,我查看了System.out的日誌,發現每次在當機前都有報“連接郵件服務器失敗”類似的錯誤,我們的郵件服務器是ibm的,最近的網絡狀況很有問題,個人懷疑是因為連接郵件服務器時間過長,導致了這種情況的發生,有待證實。
文章轉自莊周夢蝶 ,原文發布時間5.17
最後更新:2017-05-17 13:35:43