性能管理

藉由 Liberty 中的性能管理特性,您可以採取原則驅動方式,來監視應用程式伺服器環境,並在發現不健全準則時採取動作。

您可以定義性能原則,其中包括您環境中所要監視的性能條件,以及符合這些條件時所要採取的性能動作。

性能條件

性能條件是定義您想在環境中監視的變數。條件元素是定義什麼行為可能觸發此性能原則。每一項性能原則只能定義一個條件元素。您可以選擇下列預先定義的性能條件:

「要求逾時過久」條件
指定 HTTP 要求可能逾時的百分比。當要求的百分比超過定義值時,就會執行性能動作。逾時值取決於您的環境配置。
<excessiveRequestTimeout timeoutPercentage="5"/>
註: 必須啟用「動態遞送」,才能使用此條件。
「回應時間過久」條件
追蹤完成該要求的平均時間量。如果時間超出定義的回應時間臨界值,就會執行性能動作。
<excessiveResponseTime responseTime="10s"/>
註: 超出配置給要求逾時過久條件之逾時值的要求,不會算在這項性能條件內。比方說,如果預設逾時值是 60 秒,凡超過 60 秒的要求將會逾時,而不包含在這項性能條件的平均回應時間計算中。即使您沒有定義要求逾時過久條件,同樣會套用這項限制。
註: 必須啟用「動態遞送」,才能使用此條件。
記憶體條件:記憶體用量過多
追蹤成員的記憶體用量。當記憶體用量超出資料堆大小百分比達指定的時間,就會執行性能動作。
<excessiveMemoryUsage heapSizePercentage="85" timePeriod="5m"/>
記憶體條件:記憶體洩漏
當偵測到可用記憶體中出現下跌趨勢時,就會執行性能動作。
<memoryLeak/>

性能動作

性能動作是定義當不符合性能條件時,所要執行的活動。動作元素是定義將採取什麼動作,來回應偵測到的條件。所有動作會共用 <action> 元素類型。動作屬性決定要採取什麼動作,可為每一項性能原則定義多個動作。動作會依它們在原則中的指定順序執行。下表列出 Liberty 伺服器環境中支援的性能動作:

表 1. Liberty 伺服器預先定義的性能動作支援
性能動作 在相同群體控制器中執行的 Liberty 伺服器
重新啟動伺服器 支援
執行執行緒傾出 支援
執行 Java™ 虛擬機器 (JVM) 資料堆傾出 在 IBM® JRE 或 JDK 上執行的伺服器可支援
讓伺服器進入維護模式 支援
讓伺服器結束維護模式 支援
<action action="generateThreadDump"/>
<action action="generateHeapDump"/>
<action action="restartServer"/>
<action action="enterMaintenanceMode"/>
<action action="exitMaintenanceMode"/>

性能目標

目標元素是針對該條件定義所要監視的拓蹼範圍。目標類型有下列三種:
  • 主機
    <host hostName="someHost"/>
  • 叢集中的每一部伺服器
    <cluster clusterName="someCluster"/>
  • 單一伺服器
    <server hostName="Host" wlpUsrDirectory="/opt/ibm/liberty/wlp" serverName="Server"/>

每一個目標類型都有一個唯一元素,用來將它定義於 healthPolicy 元素內。每一項性能原則可指定多個目標。


指示主題類型的圖示 概念主題

檔名:cwlp_wve_healthmanage.html