websphere應用服務器性能調(diào)整建議,針對運行一段時間后當機
Posted on 2007-04-20 13:06 dennis 閱讀(3789) 評論(0) 編輯 收藏 所屬分類: java最近項目的websphere經(jīng)常當機,運行一段時間后變慢然后當?shù)簟2檎伊讼戮W(wǎng)上的資料,盡管不是我在負責服務器,但是也是個學習的機會。
主要針對的癥狀:
平臺:was5.1 base,http server 1.3.28,oracle 8i,9i
癥狀:用戶響應突然變慢,然后并連接不上80端口,重啟后正常,一段時間后反復
解決方式:調(diào)整服務器參數(shù),增加服務器的處理能力
1,更改http server的配置文件參數(shù)KeepAlive。
原因:這個值說明是否保持客戶與HTTP SERVER的連接,如果設置為ON,則請求數(shù)到達MaxKeepAliveRequests設定值時請求將排隊,導致響應變慢。
方法:打開ibm http server安裝目錄,打開文件夾conf,打開文件httpd.conf,查找KeepAlive值,改ON為OFF,其默認為ON
2,更改http server的配置文件參數(shù)ThreadsPerChild值到更大數(shù)目,默認為50
原因:服務器響應線程的數(shù)量
方法:打開ibm http server安裝目錄,打開文件夾conf,打開文件httpd.conf,查找ThreadsPerChild值,默認為50,改到更大數(shù)目,視用戶數(shù) 多少而定,一般改到客戶機數(shù)量的1.1倍,如200臺,則設為220
3,關閉http server日志紀錄
原因:http server的日志IO影響性能
方法:打開ibm http server安裝目錄,打開文件夾conf,打開文件httpd.conf,查找CustomLog值,找到?jīng)]有注釋的那行(行的開頭沒有符號"#"), 將那行用符號"#"注釋掉,以關閉日志紀錄,提高處理性能。
4,更改Websphere的服務器處理線程數(shù)
原因:線程的數(shù)量影響同時并發(fā)的請求數(shù)量
方法:打開管理控制臺,依次打開目錄樹,服務器->server1->web容器->線程池,修改"最大大小"的值,默認是50,改到 更大數(shù)目,具體視總用戶數(shù)量和機器的配置而定,一般設置其等于或小于http server設置的MaxKeepAliveRequests的值。
根據(jù)上面的建議,查看了下我們的服務器配置情況,倒是沒什么不同,實際上導致服務相應變慢到停止,一般是由兩個原因?qū)е碌?
1,數(shù)據(jù)庫操作時間過長(如查詢),導致占用連結時間過長,然后后續(xù)請求無法及時取得連結響應請求
2,代碼中一定要確保連結關閉,尤其在jsp中。后臺程序要在finally中關閉
由此,我查看了System.out的日志,發(fā)現(xiàn)每次在當機前都有報“連接郵件服務器失敗”類似的錯誤,我們的郵件服務器是ibm的Lotus Domino,最近的網(wǎng)絡狀況很有問題,個人懷疑是因為連接郵件服務器時間過長,導致了這種情況的發(fā)生,有待證實。
主要針對的癥狀:
平臺:was5.1 base,http server 1.3.28,oracle 8i,9i
癥狀:用戶響應突然變慢,然后并連接不上80端口,重啟后正常,一段時間后反復
解決方式:調(diào)整服務器參數(shù),增加服務器的處理能力
1,更改http server的配置文件參數(shù)KeepAlive。
原因:這個值說明是否保持客戶與HTTP SERVER的連接,如果設置為ON,則請求數(shù)到達MaxKeepAliveRequests設定值時請求將排隊,導致響應變慢。
方法:打開ibm http server安裝目錄,打開文件夾conf,打開文件httpd.conf,查找KeepAlive值,改ON為OFF,其默認為ON
2,更改http server的配置文件參數(shù)ThreadsPerChild值到更大數(shù)目,默認為50
原因:服務器響應線程的數(shù)量
方法:打開ibm http server安裝目錄,打開文件夾conf,打開文件httpd.conf,查找ThreadsPerChild值,默認為50,改到更大數(shù)目,視用戶數(shù) 多少而定,一般改到客戶機數(shù)量的1.1倍,如200臺,則設為220
3,關閉http server日志紀錄
原因:http server的日志IO影響性能
方法:打開ibm http server安裝目錄,打開文件夾conf,打開文件httpd.conf,查找CustomLog值,找到?jīng)]有注釋的那行(行的開頭沒有符號"#"), 將那行用符號"#"注釋掉,以關閉日志紀錄,提高處理性能。
4,更改Websphere的服務器處理線程數(shù)
原因:線程的數(shù)量影響同時并發(fā)的請求數(shù)量
方法:打開管理控制臺,依次打開目錄樹,服務器->server1->web容器->線程池,修改"最大大小"的值,默認是50,改到 更大數(shù)目,具體視總用戶數(shù)量和機器的配置而定,一般設置其等于或小于http server設置的MaxKeepAliveRequests的值。
根據(jù)上面的建議,查看了下我們的服務器配置情況,倒是沒什么不同,實際上導致服務相應變慢到停止,一般是由兩個原因?qū)е碌?
1,數(shù)據(jù)庫操作時間過長(如查詢),導致占用連結時間過長,然后后續(xù)請求無法及時取得連結響應請求
2,代碼中一定要確保連結關閉,尤其在jsp中。后臺程序要在finally中關閉
由此,我查看了System.out的日志,發(fā)現(xiàn)每次在當機前都有報“連接郵件服務器失敗”類似的錯誤,我們的郵件服務器是ibm的Lotus Domino,最近的網(wǎng)絡狀況很有問題,個人懷疑是因為連接郵件服務器時間過長,導致了這種情況的發(fā)生,有待證實。