1. 程式人生 > >Websphere效能調優的基本步驟

Websphere效能調優的基本步驟

部署在WAS上的J2EE應用程式,其效能是由多個因素決定的。例如網路、資料庫、記憶體分配、WAS伺服器的配置以及應用程式的設計。對於一個標準的J2EE應用,一個請求到來時,往往需要經過多次轉發:網路> Web伺服器Web容器 > EJB容器 >資料庫。而每一次轉發,都可能造成請求處理的瓶頸,使得應用程式整體效能下降。如果我們把每一次轉發的待處理資源都看成一個佇列,如圖:

待處理資源佇列

  對於WAS調優,要記住的一個基本原則就是,使得在佇列中等待的請求的數量最小化。在實踐中我們發現,為了達到這個目的,最有效的配置方式就是使得佇列成為一個”漏斗”。也就是說,越靠近客戶端的佇列,其容量越大,而後面的佇列,其容量要略小於或等於前面的佇列。按照這個原則,調優的基本步驟如下:
  設定的是Web Server的最大併發使用者:

·這個設定是在conf/httpd.conf這個檔案裡面配置的。在Unix系統中,對應的屬性是MaxClient;在Windows系統中,對應的屬性是ThreadsPerChild。

  設定Web Container的最大、最小併發使用者:

·在管理控制檯中點選應用程式伺服器 > server1 > 執行緒池>WebContainer,根據觀察的效能情況和應用情況輸入合適的最小、最大程序數。

  物件請求代理(ORB)的執行緒池大小:

·在管理控制檯中點選應用程式伺服器 > server1 > ORB 服務 >執行緒池,根據觀察的效能情況和應用情況輸入合適的最小、最大程序數。

  設定資料庫的連線池屬性:

·JDBC 提供者 >資料庫JDBC驅動名稱 > 資料來源 > 資料來源名稱> 連線池,根據觀察的效能情況和應用情況輸入合適的最小、最大連線數。

  JVM堆引數設定的效能調優:

·應用程式伺服器 > server1 > 程序定義 > Java虛擬機器,根據硬體實體記憶體和應用情況輸入合適的初始堆大小、最大堆大小。

  ORB引數呼叫方式的效能調優:

·應用程式伺服器 > server1 > ORB 服務>選中按引用傳遞。

  關閉動態載入開關:

·企業應用程式 > 應用名稱 > 關閉啟動類重新裝入開關。
·關閉會話序列化,應用程式伺服器 > server1 > 會話管理 > 分散式環境設定 >分散式會話選擇無即可。

  這個調優的步驟只是涉及了利用WAS伺服器引數的調整來優化應用程式的效能,實際上效能的好壞很大部分是取決於應用的設計。好的效能源自好的程式碼設計。一般說來,效能調優大概可以提高10%-40%效率,而糟糕的程式碼設計卻會使得效能幾倍的下降。