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的Lotus Domino,最近的網路狀況很有問題,個人懷疑是因為連線郵件伺服器時間過長,導致了這種情況的發生,有待證實。
主要針對的症狀:
平臺: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的Lotus Domino,最近的網路狀況很有問題,個人懷疑是因為連線郵件伺服器時間過長,導致了這種情況的發生,有待證實。
相關文章
- 程式執行一段時間當機問題 hibernate3.1
- JBOSS5.1執行一段時間後掛掉
- 線上JAVA應用平穩執行一段時間後出現JVM崩潰問題JavaJVM
- quartz不正常執行.執行一段時間後無故停止quartz
- jdon執行一段時間後經常出現的錯誤
- win10一段時間不動當機怎麼辦_win10一段時間不動當機解決方法Win10
- 時區調整對job的執行時間的影響
- Spring Boot中得定時任務執行一段時間後突然停了Spring Boot
- 針對oracle效能的io調優Oracle
- 使用dbms_sqltune獲得SQL調整建議SQL
- Jboss叢集執行一段時間自己停止。
- **java設定一段程式碼執行超時時間(轉)**Java
- 模板引擎注射:針對現代web應用的新型命令執行Web
- oracle 中如何顯示sql語句的執行時間和sql語句的執行後的當前時間OracleSQL
- 用一段時間後 QT creator 開啟容易卡死QT
- javascript如何測試一段程式碼的執行時間JavaScript
- js檢測一段程式碼的執行消耗時間JS
- unity C# 每隔一段時間執行一次UnityC#
- 後臺執行以及保持程式在後臺長時間執行
- MySQL change buffer介紹和相關引數調整建議MySql
- 一段測試try...catch執行時間的程式碼
- oracle出現監聽不正常--執行一段時間Oracle
- 如何在Spring Boot應用啟動之後立刻執行一段邏輯Spring Boot
- 對AngularJS進行效能調優的7個建議AngularJS
- [譯]GitHub應對1.28當機事故的前前後後Github
- WebSphere效能調優全講解Web
- 如何計算一段js程式碼執行耗費的時間JS
- js如何計算一段程式碼的執行花費時間JS
- 【PGA】通過10g新特性得到PGA的調整建議
- 檢視臨時表空間佔用及當前天在執行的sqlSQL
- 自適應查詢執行:在執行時提升Spark SQL執行效能SparkSQL
- Android 7.0推送時間曝光!應用執行快6倍Android
- Java調優—Btrace監控Java執行緒/方法執行引數、執行時間(Windows)Java執行緒Windows
- mysql 執行一段時間比較慢問題處理經過MySql
- Oracle 執行 DDL 長時間無響應Oracle
- Linux開機執行多長時間Linux
- 系統為什麼會在執行時當機
- 針對使用非塊執行和塊執行併發壓測對比