IBM WebSphere Application Server Advanced Edition

調整指南


效能調整的新內容

效能調整精靈

動態片段快取

調整基本觀念

   那些項目會影響到調整

   症狀表

   調整類型

      參數調整

           影響較大的調整參數
           避免失敗的調整參數

   調整 WebSphere Application Server 的系統佇列

      WebSphere 佇列網路

            封閉佇列和開放佇列
            WebSphere 中的佇列設定

      決定設定

            WebSphere 之前的佇列作業

            繪製通訊量曲線

            佇列調整
            存取型樣的佇列調整

      佇列和 Enterprise Bean

      佇列和叢集作業

   調整安全 Socket 層

      交握和大量加密/解密總覽

      如何增強安全 Socket 層效能

   應用程式組合效能核對清單

   調整 Java 記憶體

      記憶體回收瓶頸

      記憶體回收規格

      偵測物件的過度使用

      偵測記憶體洩漏

      Java 資料堆參數

   DB2 連線數目

   Solaris TCP 參數

   工作量管理拓蹼

個別效能參數

   硬體容量和設定

      處理器速度

      記憶體

      網路

   作業系統設定

       Windows NT/2000 TCP/IP 參數

            Windows NT/2000 TcpTimedWaitDelay
             Windows NT/2000 MaxUserPort

       AIX (4.3.3)

            AIX 檔案描述子 (ulimit)

       Solaris

            Solaris 檔案描述子 (ulimit)
            Solaris tcp_close_wait_interval/tcp_time_wait_interval
            Solaris tcp_fin_wait_2_flush_interval
            Solaris tcp_keepalive_interval
            其他 Solaris TCP 參數
            Solaris kernel semsys:seminfo_semume
            Solaris kernel semsys:seminfo_semopm

      HP-UX 11

            將 WebSphere Application Server JVM 的虛擬頁面大小設為 64K
            HP-UX 11 tcp_conn_request_max
            HP-UX 11 核心參數建議

   Web 伺服器

      Web 伺服器配置重新載入間隔

      IBM HTTP Server - AIX 和 Solaris

            MaxClients
            MinSpareServers、MaxSpareServers 和 StartServers

      Netscape Enterprise Server - AIX 和 Solaris

            作用中的執行緒

       Microsoft Internet Information Server - Windows NT/2000

             Internet Information Server (IIS) 許可權內容
            每日預期命中數
            ListenBackLog 參數

      IBM HTTP Server - Linux

            MaxRequestsPerChild

       IBM HTTP Server - Windows NT/2000

            ThreadsPerChild
             ListenBackLog

   WebSphere 應用程式伺服器程序

       調整應用程式伺服器程序優先順序

      Web 儲存器

             Web 儲存器 ThreadsMax 連線數目上限
            保持作用中傳輸上限
            每個保持作用中的傳輸要求上限
            URL 呼叫快取
            容許執行緒配置超出上限

      EJB 儲存器

            快取設定
            將 CMP Enterprise Bean 分解成數個 Enterprise Bean 模組

      安全

            在不需要時關閉安全
            細部調整環境的安全快取逾時
            安全快取類型和大小(系統參數)
            適當地配置安全 Socket 層階段作業

       Object Request Broker (ORB)

            傳值和傳參照 (NoLocalCopies)
             com.ibm.CORBA.ServerSocketQueueDepth
            com.ibm.CORBA.MaxOpenConnections 和 ORB 連線快取記憶體上限
            Object Request Broker 執行緒儲存池大小
            使用 JNI ReaderManager 和讀取器執行緒

   Java 虛擬機器 (JVM)

      Sun JDK 1.3 HotSpot -server warmup

      Sun JDK 1.3 HotSpot 新世代儲存池大小

      Just In Time (JIT) 編譯器

      資料堆大小設定

      類別記憶體回收

   資料庫

      資料庫位置

      WebSphere 資料來源連線儲存池大小

      備妥陳述式快取記憶體大小

      DB2

            在 Linux 中使用 TCP Socket for DB2
            DB2 MaxAppls
            DB2 MaxAgents
            DB2 buffpage
            DB2 查詢最佳化層次
            DB2 reorgchk
            DB2 MinCommit

   階段作業管理

   WebSphere Application Server Enterprise Extensions 訊息接聽器

      階段作業數目上限

      在相同佇列中進行接聽的多部應用程式伺服器

其他參照

效能工具程序

      啟動 Windows NT/2000 效能監視器



效能調整的新內容

效能調整精靈
動態片段快取

效能調整精靈

效能調整精靈是 WebSphere Application Server Advanced Edition 所包含的一套工具,它含有與應用程式伺服器相關聯的最常用的效能相關設定。 請利用效能調整精靈來最佳化應用程式、Servlet、Enterprise Bean、資料來源和預期工作量的設定。 可設定的參數包括:

如果要從管理主控台中呼叫,請選取主控台 > 精靈 > 效能調整器

請參閱 InfoCenter 的第 6.6.21 篇文章,以取得詳細資訊。

動態片段快取

動態片段快取是快取動態 Servlet 和 JSP 檔輸出的功能,這是一項能夠大幅改進應用程式效能的技術。 當在應用程式伺服器 JVM 內運作時,這個快取會截取 Servlet service() 方法呼叫,檢查它能不能利用快取內容來服務這個呼叫,而不必重新執行 Servlet。 由於 J2EE 應用程式讀寫比例很高,且在小範圍內能夠接受資料不是全新的,因此,片段快取能夠為伺服器回應時間、通訊量和可調整性帶來明顯的效果。

在執行 Servlet(產生要快取的輸出)之後,會產生含有該輸出的快取項目。 另外,也會產生執行的副作用(即呼叫其他 Servlet 或 JSP 檔),以及項目的 Meta 資料,其中包括逾時和項目優先順序資訊。 唯一項目用 HttpServletRequest 物件為了每個 Servlet 呼叫而產生的 ID 字串來分辨。 結果就會根據 URI 用來呼叫 Servlet 或階段作業資訊的要求參數來快取 Servlet。 由於 WebSphere Application Server 會將 JSP 檔編譯成 Servlet,因此,會交互使用 JSP 和 Servlet(宣告 XML 檔內的元素時除外)。

如果要設定這個項目:

  1. 從管理主控台中,選取您要調整的應用程式伺服器。
  2. 按一下服務 > Web 儲存器服務 > 編輯內容
  3. 選取 Servlet 快取標籤,再勾選啟用 Servlet 快取方框。
  4. 按一下確定來儲存變更。
  5. 請重新啟動應用程式伺服器。

請參閱 InfoCenter 的 4.5: 動態片段快取一文,以取得詳細資訊。

症狀表

檢視這份症狀表是瞭解調整的捷徑。 這份表格的設計是專為了讓您很容易找到症狀,並很快鏈結到該症狀的相關調整資訊。 這份表格含有下列資訊類型:

症狀 其他資訊
通訊量和回應時間不良。 處理器速度
AIX:記憶體配置錯誤
Solaris:有太多開啟的檔案
AIX 檔案描述子 (ulimit)Solaris 檔案描述子 (ulimit)
Solaris:在尖峰時間伺服器停滯,回應需要很多時間、處理器使用率始終很高且所有活動都在系統程序中,netstat 顯示有許多開啟指向埠 80 的 Socket 都在 CLOSE_WAIT 或 FIN_WAIT_2 狀態中。 Solaris tcp_close_wait_interval/tcp_time_wait_intervalSolaris tcp_fin_wait_2_flush_interval
Windows NT/2000:netstat 顯示有太多 Socket 在 TIME_WAIT 狀態中。 Windows NT/2000 TcpTimedWaitDelay
HP-UX 11:通訊量不良,且沒有調整應用程式伺服器優先順序。 調整 WebSphere Application Server 程序的作業系統優先順序
在負載之下,從屬站要求因逾時或遭到拒絕而無法到達 Web 伺服器。 如果是 HP-UX 11,請參閱 HP-UX 11 tcp_conn_request_max
如果是 IIS Windows NT/2000,請參閱 ListenBackLog 參數
如果是 NT 中的 IBM HTTP Server,請參閱 ListenBackLog
Windows NT/2000:在安裝了其他供應商的應用程式伺服器之後,WebSphere Application Server 效能會降低。 IIS 許可權內容
資源分析器的百分比最大度量指出 Web 儲存器執行緒儲存池太小。 Web 儲存器 ThreadsMax 連線數目上限
netstat 顯示埠 9080 有太多 TIME_WAIT 狀態的 Socket。 保持作用中 Web 儲存器傳輸上限
因分頁之故,發生太多磁碟輸入/輸出。 資料堆大小設定
資源分析器的資料來源連線儲存池的使用百分比度量指出儲存池太大。 WebSphere 資料來源連線儲存池大小
資源分析器的備妥陳述式快取捨棄度量指出資料來源備妥陳述式快取記憶體太小。 備妥陳述式快取記憶體大小
因 DB2 寫入日誌記錄之故,發生太多磁碟輸入/輸出。 DB2 MinCommit
資源分析器的百分比最大度量指出 Object Request Broker 執行緒儲存池太小。 佇列和 Enterprise Bean
當花太多時間在記憶體回收時,資源分析器的 Java 虛擬機器 Profiler 介面 (JVMPI) 指出過度使用物件。 偵測物件的過度使用
資源分析器使用記憶體度量顯示記憶體洩漏,Java 顯示異常狀況用盡的異常狀況。 偵測記憶體洩漏
通訊量、回應時間和可調整性不良。 如果應用程式允許的話,請利用動態片段快取

調整基本觀念

在使用調整可用的程序時,您可以大幅度增進 WebSphere Application Server 的效能。 這份調整指南將提供一般的建議和特定調整方法的說明來告訴您如何進行調整。 它也將提供可增強效能調整作用的許多因素和變數的提示及要訣。

只要使用本調整指南,再加上其範例和資源,將可擴充您調整的經驗。調整是一項不斷進行的學習處理。您的結果可能會不同於這份指南所提供的內容。

那些項目會影響到調整

以下是可能影響到 WebSphere Application Server 效能的所有元件: 每個都有它自己的調整選項,它們會隨著重要性和影響而有所不同。 這份文件的「個別效能參數」一節會詳細說明上述中的每一項。

為了您的方便,我們也說明了在其他產品中設定參數的一些程序。 由於這些產品可能會改變,因此,您只能將這些程序視為建議。

調整類型

共有兩種類型的調整:應用程式調整及參數調整。

雖然應用程式調整有時會帶來最大的調整改進效果,但這份文件的焦點是在個別效能參數及其間的協同作用。

WebSphere Application Server Development Best Practices for Performance and Scalability 白皮書處理應用程式的調整問題, 它會說明含有 Servlet、Java Server Pages (JSP) 檔和 Java 資料庫連線功能 (JDBC) 的 Web 應用程式以及含有 Enterprise Bean 元件的企業應用程式的最佳開發方式。

參數調整

調整參數是以增進效能為目標來變更 WebSphere Application Server 設定的藝術。 這份文件中所建議的值是一般的準則。 您的環境的最佳設定有可能非常不同。 另外,也請記住,在解決了一個瓶頸之後,可能會出現另一個不相干的瓶頸。 如果出現這種情況,在兩個瓶頸都解決之前,可能見不到效能的改進。

這一節要討論兩類調整參數:
影響較大的調整參數
這些參數會帶來高效能。 它們是所有其他參數的子集,對效能有重大影響。 由於它們會隨著應用程式而不同,因而應用程式和環境所適用的參數設定也可能不同。

下表列出各種可大幅增強效能的調整參數:

應用程式組合效能核對清單
調整 WebSphere Application Server 系統佇列
使用傳值和傳參照 (NoLocalCopies)
調整 Solaris TCP 參數
調整 Java 記憶體
調整 MaxRequestsPerChild:在含 IBM HTTP Server 的 Linux 中
調整 WebSphere 資料來源連線儲存池大小
調整備妥陳述式快取記憶體大小
Web 伺服器配置重新載入間隔
調整備妥陳述式快取記憶體大小
搭配持續性階段作業使用快取記憶體
避免失敗的調整參數

下列參數可協助您防止功能上的問題:

ListenBackLog 參數:適用在搭配 IIS 執行 Windows NT/2000 且從屬站負載很重之時
傳輸類型:在 Solaris 中使用 INET Socket(WebSphere Application Server 的預設值)
DB2 的連線數:如果您建立的連線數超出 DB2 的預設值
已選取容許執行緒配置超出上限,且系統因配置了太多執行緒而超載。
在 Linux 中使用 TCP Socket for DB2:適用於本端資料庫
WebSphere 資料來源連線儲存池大小:請務必要有足夠的連線,才能處理使用 Entity EJB 來處理交易時所需的額外連線,以及避免發生死鎖的情況。

調整 WebSphere Application Server 中的佇列

WebSphere Application Server 有一系列相互關聯的元件必須互相配合調整,才能支援點對點電子商業應用程式的自訂方法。 這些調整可協助系統達到通訊量的上限,而同時能維持系統的整體穩定性。

佇列網路

WebSphere Application Server 會建立一個佇列網路,這是交互連接的佇列所組成的網路,各佇列代表著處理應用程式之平台的各個元件。 這些佇列包括網路、Web 伺服器、Web 儲存器、EJB 儲存器、資料來源,也可能包括自訂的後端系統的連線管理程式。 在這些資源中,每個都代表等待使用該資源之要求的佇列。

WebSphere 佇列是一種相依於負載的資源。 要求的平均服務時間相依於並行從屬站的數目。

封閉佇列和開放佇列

組成佇列網路的佇列大部份都是封閉的佇列。 封閉佇列和開放佇列不同,它會設定佇列作用中的要求數目上限。

封閉佇列可以嚴密地管理系統資源。 比方說,Web 儲存器的連線數目上限設定會控制 Web 儲存器佇列的大小。 如果在每個要求期間,Web 儲存器中執行的平均 Servlet 會建立 10MB 的物件,則其值為 100 的連線數目上限會將 Web 儲存器所耗用的記憶體限制在 1GB。

在封閉佇列中,要求有兩種可能的狀態:作用中或等待中。 作用中的要求可能在執行工作,也可能在等待下游佇列的回應。 比方說,在 Web 伺服器的作用中要求可能是在執行工作(如擷取靜態 HTML),也可能是在等待 Web 儲存器中的某個要求完成作業。 當狀態為等待中,要求是在等待成為作用中。 在有作用中的要求離開佇列之前,這個要求的狀態會一直維持在等待中。

WebSphere Application Server 支援的所有 Web 伺服器都是封閉佇列,如同 WebSphere Application Server 資料來源。 Web 儲存器可以配置成開放或封閉佇列。 一般而言,最好使它們成為封閉佇列。 EJB 儲存器是開放佇列;如果儲存池中沒有可用的執行緒,就會建立一個新執行緒供要求的持續期間使用。

如果是 Servlet 呼叫 Enterprise Bean,Web 儲存器會限制進入 EJB 儲存器的並行要求總數,因為 Web 儲存器也會有限制。 只有在利用 Servlet 執行緒呼叫 Enterprise Bean 時,這種情況才是如此。 如果您要建立執行緒,對 EJB 儲存器連續提出要求,沒有任何東西能阻止您。 這也正是最好不要利用 Servlet 來建立它本身的工作執行緒的原因之一。

WebSphere Application Server 中的佇列設定

以下概述各個佇列設定:

決定設定

下節概述配置 WebSphere Application Server 佇列的方法。 您可以移動資源(如將資料庫伺服器移到另一部機器中)或提供更有力的資源(如更快的 CPU 組和更多的記憶體)來變更系統的動態,因而可以變更您的調整參數。 因此,請調整您的調整參數來配置生產環境的特定配置。

WebSphere 之前的佇列作業

調整的第一個規則是將 WebSphere Application Server 佇列中的要求數目縮到最小。 一般而言,讓要求在網路中等待(在 Web 伺服器之前),比在 WebSphere 中等待好。 這項配置只會讓準備好要處理的要求進入佇列網路中。 如果要完成這個配置,請將最上游的佇列(最接近從屬站)指定成稍大些,將較下游的佇列(遠離從屬站)指定成逐漸變小。

在工作流程中,越往下游,這個佇列網路中的佇列會越小。 當 200 個從屬站到達 Web 伺服器時,會有 125 個要求保留在網路佇列中,因為 Web 伺服器已設定成要處理 75 個並行從屬站。 在 75 個要求從 Web 伺服器傳到 Web 儲存器時,25 個會保留在 Web 伺服器的佇列中,Web 儲存器會處理其餘 50 個。 這個程序透過資料來源進行,直到最後 25 個使用者到達最終目的地(資料庫伺服器)為止。 由於在上游的每一點中,都會有等待進入元件的工作,因此,這個系統中沒有任何元件需要等待工作的到達。 許多要求會在 WebSphere Application Server 之外,在網路中等待。 這會增加穩定性,因為沒有任何元件會超載。 像 IBM Network Dispatcher 這類遞送軟體可用來將等待的使用者導向 WebSphere Application Server 叢集中的其他伺服器。

繪製通訊量曲線

請利用一個能夠充分表現生產應用程式精神的測試實例(比方說,它會處理到所有有意義的程式碼路徑),或利用生產應用程式本身,執行一組實驗來判斷系統性能到達上限的時機(飽和點)。 請在移除了應用程式中大部份的這類瓶頸之後,再進行這些測試。 這些測試的一般目標是要讓 CPU 發揮 100% 的使用率。

請利用大的佇列來啟動起始基線實驗。 這可以讓系統能夠處理同時進行的數目上限。 比方說,您可以在佇列網路中的每部伺服器上,以佇列大小 100 來開始第一個實驗,其中包括:Web 伺服器、Web 儲存器和資料來源。

之後,請開始一個實驗系列來繪製通訊量曲線,並在每個實驗之後增加並行使用者的負載。 比方說,請以 1 位使用者、2 位使用者、5 位、10 位、25 位、50 位、100 位、150 位和 200 位使用者來進行實驗。 在每次每個之後,都將通訊量(每秒的要求數)和回應時間(每要求的秒數)記錄下來。

基線實驗所產生的曲線應該類似於下列中的一般通訊量曲線:

WebSphere Application Server 的通訊量是存在系統整體中之並行要求數的函數。 A 區段輕負載區顯示隨著並行使用者要求數目的增加,通訊量也隨著要求數目而近乎呈直線增加。 這反映出在輕負載階段中,並行要求很少在 WebSphere Application Server 系統佇列內遇到阻塞。 到了某個點之後,就會開始出現阻塞,通訊量的增加速率會比較慢,直到出現代表 WebSphere Application Server 系統中某些瓶頸所決定的通訊量上限之飽和點為止。 WebSphere Application Server 機器的 CPU 飽和是最能夠管理的瓶頸類型。 這比較好,因為您很容易新增其他或更強的 CPU 來恢復 CPU 造成的瓶頸。

在重負載區或 B 區段中,當並行從屬站負載增加時,通訊量會維持相當固定。 不過,回應時間會隨著使用者負載而等比例地增加。 也就是說,如果重負載區內的使用者負載加倍,回應時間也會加倍。 在 C 區段(變形區)所代表的某些點上,會有耗盡某系統元件的情況。 這時通訊量會開始降低。 比方說,當 Web 伺服器的網路連線耗盡了網路配接卡的限制時,或超出檔案控點的作業系統限制時,系統便可能會進入變形區。

如果系統 CPU 使用趨近於 100% 而到達飽和點,請進入下一步驟。 如果 CPU 使用還沒有趨近 100%,表示可能有應用程式所造成的瓶頸。 比方說,應用程式可能建立了過多 Java 物件,因而造成了 Java 記憶體回收的瓶頸。

管理應用程式瓶頸的方式有兩種:移除瓶頸或複製瓶頸。 管理瓶頸的最佳方式是將它移除。 請利用 Java 型應用程式 Profiler 來檢查整體物件使用率。 您可以使用「效能追蹤資料視覺化程式 (PTDV)」、JProbe 和 Jinsight 這類 Profiler。

佇列調整

通訊量飽和點的並行使用者數目代表應用程式的並行使用數目上限。 比方說,如果應用程式會使 WebSphere Application Server 在 50 位使用者時進入飽和狀態,您可能會發現 48 位使用者是通訊量和回應時間的最佳組合。 這個值稱為「應用程式並行數目上限」。 「應用程式並行數目上限」是調整 WebSphere Application Server 系統佇列時所採用的基準值。 請記住,最好讓大部份使用者在網路中等候,因此,越往遠離從屬站的下游移動,佇列要越小。 比方說,如果「應用程式並行數目上限」值是 48,請以下列值來起始系統佇列:Web 伺服器 75、Web 儲存器 50、資料來源 45。 請執行另一組實驗,將這些值稍微調高和調低一些,以找出最佳設定。

您可以利用「資源分析器」,透過 Servlet 引擎執行緒儲存池「並行作用中執行緒」度量,來判斷並行使用者的數目。

在效能實驗中,當調整保持作用中的 Web 儲存器傳輸上限來符合 Web 儲存器執行緒數目的上限時,通訊量會增加 10-15%。

調整存取型樣的佇列設定

在許多情況下,只有少數通過佇列的要求會進入下游的下個佇列中。 在有許多靜態網頁的網站中,會在 Web 伺服器處理許多要求,而不會將這些要求傳遞給 Web 儲存器。 在這種情況下,Web 伺服器佇列可能會遠大於 Web 儲存器佇列。 在上一節裡,我們將 Web 伺服器佇列設為 75,而沒有將它設為趨近於「應用程式並行數目上限」值。 當不同的元件執行時間各不相同時,也需要進行類似的調整。

比方說,在複雜 Servlet 中要花去 90% 時間,但只用 10% 的時間來進行短的 JDBC 查詢的應用程式中,平均會有 10% 的 Servlet 隨時在使用資料庫連線, 因此,資料庫連線佇列會遠遠小於 Web 儲存器佇列。 相反地,如果 Servlet 的大部份執行時間都花在複雜的資料庫查詢上,請考慮增加 Web 儲存器和資料來源兩者的佇列值。 請務必監視 WebSphere Application Server 和資料庫伺服器兩者的 CPU 和記憶體使用率,以確保 CPU 或記憶體沒有進入飽和狀態。

佇列和 Enterprise Bean

只有當發出方法呼叫的從屬站是在遠端時,指向 Enterprise Bean 的方法呼叫才會放到佇列中。 比方說,當 EJB 從屬站是從 Enterprise Bean 而執行於個別的 Java 虛擬機器(另一個位址空間)時,就是如此。 相對地,如果 EJB 從屬站(Servlet 或另一個 Enterprise Bean)安裝在相同的 JVM 中,則 EJB 方法會執行於 EJB 從屬站的相同執行緒中,且不會進行佇列作業。

遠端 Enterprise Bean 是利用 RMI/IIOP 通信協定來通信的。 透過 RMI/IIOP 來起始的方法呼叫由伺服器端 ORB 來處理。 執行緒儲存池就作為送入要求的佇列。 不過,如果發出遠端方法要求,而執行緒儲存池中沒有其他可用的執行緒的話,便會建立一個新的執行緒。 在方法要求完成之後,便會將這個執行緒毀損。 因此,當利用 ORB 來處理遠端方法要求時,EJB 儲存器會是一個開放佇列,因為它在使用執行緒時,是在沒有連結的狀態下進行的。 下圖說明 Enterprise Bean 的兩個佇列選項。

當配置執行緒儲存池時,務必要瞭解 EJB 從屬站的呼叫型樣。 如果 Servlet 向遠端 Enterprise Bean 發出少量呼叫,且每個方法呼叫都相對較快,請考慮將 ORB 執行緒儲存池中的執行緒數目設成小於 Web 儲存器執行緒儲存池大小的值。

這時資源分析器會出現稱為最大百分比的度量,用來確定所有配置的執行緒都在使用中的時間量。 如果這個值固定是二位數,ORB 可能是瓶頸,應該增加執行緒的數目。

ORB 執行緒儲存池需要增加的程度是呼叫 Enterprise Bean 的並行 Servlet(即從屬站)的數目與每個方法呼叫的延續時間的函數。 如果方法呼叫比較長,請考慮使 ORB 執行緒儲存池大小等於 Web 儲存器大小,因為遠端方法呼叫的交錯會比較少。 如果 Servlet 只會發出指向 ORB 的短期或快速的呼叫,ORB 執行緒儲存池可以比較小。 許多 Servlet 也可能重複使用相同的 ORB 執行緒。 在這種情況下,可以採用小的 ORB 執行緒儲存池,甚至是 Web 儲存器的執行緒儲存池大小的一半。 如果應用程式會將許多時間花在 ORB 中,請在 Web 儲存器和 ORB 之間,配置較均等的關係。

佇列和叢集作業

在配置具有高調整性的生產環境中,複製應用程式伺服器的能力可能是一項非常有價值的資產。 當應用程式遇到瓶頸而無法充分利用對稱多重處理 (SMP) 伺服器的 CPU 時,尤其如此。 當調整叢集配置中的 WebSphere Application Server 系統佇列時,請記住,在新增伺服器至叢集時,伺服器下游的負載會有兩倍之多。

兩個 Web 儲存器複本位在 Web 伺服器和資料來源之間。 我們假設 Web 伺服器、Servlet 引擎和資料來源(不包括資料庫)都執行於單一 SMP 伺服器中。 在這些限制之下,可能需要有下列佇列考量:

調整安全 Socket 層

安全 Socket 層 (SSL) 效能有兩種類型如下:

交握和大量加密/解密總覽

當建立 SSL 連線時,會發生 SSL 交握。 在建立好連線之後,每次的讀寫作業,SSL 都會執行大量加密和解密。 SSL 交握的效能成本比大量加密和解密大得多。

如何增強 SSL 效能

如果要增強 SSL 效能,您必須減少個別 SSL 連線和交握的數目。

減少連線數目會增加 SSL 連線的安全通信效能以及簡式 TCP 連線的非安全通信。 減少個別 SSL 連線的方式之一,是使用支援 HTTP 1.1 的瀏覽器。 對某些使用者而言,如果無法升級至 HTTP 1.1 的話,就不可能減少個別 SSL 連線數目。

比較常用的方式是減少兩個 WebSphere Application Server 元件之間的連線數目(TCP 和 SSL)。 下列準則有助於確定已配置了應用程式伺服器的 HTTP 傳輸,使 Web 伺服器外掛程式不會重複重新開啟新的應用程式伺服器連線:

備妥陳述式快取記憶體大小

其他 JDBC 參數
除了設定備妥陳述式快取記憶體大小之外,您還可以設定 JDBC 驅動程式的其他特定內容。 比方說,您可以利用 Oracle 來增加下列陳述式取得結果集時所要提取的列數:
name="defaultRowPrefetch", value="25"
請在一般標籤中,輸入資料庫的這些自訂內容類型。

DB2

DB2 有許多參數可供配置最佳化的資料庫效能。 如果需要完整的 DB2 調整資訊,請參閱 DB2 UDB Administration Guide: Performance。
在 Linux 中使用 TCP Socket for DB2
DB2 MaxAppls
DB2 MaxAgents
DB2 buffpage
DB2 查詢最佳化層次
DB2 reorgchk
DB2 MinCommit

階段作業管理

如果需要設定階段作業管理參數的其他資訊,請參閱 InfoCenter 文章 4.4.1.1 階段作業程式設計模型和環境

WebSphere Application Server Enterprise Extensions 訊息接聽器

WebSphere Application Server Enterprise Extensions 提供延伸傳訊支援。 這一節含有延伸傳訊支援中的 JMS 接聽器功能之調整建議。

階段作業數目上限

在相同佇列中進行接聽的多部應用程式伺服器

其他參照

效能工具程序

啟動 Windows NT/2000 效能監視器

請遵循下列步驟:
開始功能表中,選擇程式集 > 管理工具 > 效能監視器