階段作業儲存區設定

請利用這個頁面來配置階段作業儲存區設定。

這個管理主控台頁面是 JMS Unified Connection Factory、Queue Connection Factory 和 Topic Connection Factory 所共用的。 如果要檢視這個頁面,請選取資源類型的實例,然後按一下階段作業儲存區。 例如,按一下資源 > JMS->Queue Connection Factory->queue_connection_factory->[其他內容] 階段作業儲存區。

連線逾時值

指定以秒表示的間隔,在這個間隔後,連線要求將發生逾時,而且將擲出 ConnectionWaitTimeoutException。

當到達特定連線儲存區的連線數目上限值(連線數目上限)時,需要等待。比方說,如果連線逾時值設定為 300,且達到了連線數目上限,儲存區管理員就會在 300 秒內等待可用的實體連線。 如果在這段時間內,沒有可用的實體連線,儲存區管理員就會擲出 ConnectionWaitTimeoutException。 重試 getConnection() 方法通常沒有意義,因為如果需要較長的等待時間,您應該將連線逾時值設為較高的值。 因此,如果應用程式擷取到這個異常狀況,管理者應該檢閱應用程式原預期的用法,再據此調整連線儲存區和資料庫。

如果連線逾時值設成 0,儲存區管理員會一直等到可以配置連線為止(這種情況發生在連線數目低於連線數目上限值時)。

如果「連線數目上限」設成 0(啟用無限的實體連線數目),則系統不會處理「連線逾時值」。

參考資訊 值
資料類型 Integer
單位 秒
預設值 180
範圍 0 到最大整數

連線數目上限

指定這個儲存區中所能建立的實體連線數目上限。

這些是後端資源的實體連線。 達到這個數目之後,不會建立任何新的實體連線,且要求者將等到目前使用中的實體連線回到儲存區,或擲出 ConnectionWaitTimeoutException 為止。

比方說,如果「連線數目上限」值設定為 5,且有五個實體連線在使用中,儲存區管理員就會在「連線逾時值」所指定的時間內,等待實體連線變成可以使用。

如果「連線數目上限」設成 0,則系統不會處理「連線逾時值」。

如果要有較好的效能,請將連線儲存區的值,設成低於 Web 儲存器中的「連線數目上限」選項值。 較低的設定(如 10-30 個連線)效能比較高的設定(如 100)好。

如果使用複本,則每一個複本都會有一個資料儲存區。 當配置資料庫連線數目上限時,知道資料儲存區的數目非常重要。

[AIX Solaris HP-UX Linux Windows][IBM i] 您可以利用 Tivoli® 效能檢視器來尋找儲存區中的最佳連線數目。如果並行等待者的數目大於 0,但 CPU 負荷沒有接近 100%,請考慮增加連線儲存區大小。 如果「使用百分比」值始終比正常工作量低,請考慮減少儲存區中的連線數目。

[AIX Solaris HP-UX Linux Windows][IBM i]
參考資訊 值
資料類型 Integer
預設值 10
範圍 0 到最大整數

連線數目下限

指定要維持的實體連線數目下限。

在到達到這個數目之前,儲存區維護執行緒不會捨棄實體連線。 不過,不會嘗試使連線數目成為這個數目。 如果您設定「存在逾時值」,就不會維護下限值。 這時會捨棄所有到期的連線。

比方說,如果連線數目下限值設定為 3,且已建立一個實體連線,「未用逾時值」執行緒不會捨棄這個連線。 經由相同的記號,執行緒不會自動建立兩個額外的實體連線,來達到連線數目下限設定。

參考資訊 值
資料類型 Integer
預設值 1
範圍 0 到最大整數

執行間隔時間

指定儲存區維護執行緒的執行間隔(秒)。

比方說,如果執行間隔時間設成 60,儲存區維護執行緒就會每隔 60 秒執行一次。「執行間隔時間」間隔會影響到未用逾時值及存在逾時值設定的精確度。 間隔越小,精確度就越高。如果啟用了儲存區維護執行緒,請將「執行間隔時間」值設成比「未用逾時值」和「存在逾時值」還小的值。 當儲存區維護執行緒執行時,它會捨棄任何未用時間超出未用逾時值所指定之時間值的連線,直到到達連線數目下限所指定的連線數目為止。 儲存區維護執行緒也會捨棄任何作用時間比存在逾時值所指定的時間值長的連線。

「執行間隔時間」間隔也會影響效能。較小的間隔表示儲存區維護執行緒執行頻率比較高,會降低效能。

如果要停用儲存區維護執行緒,請將執行間隔時間設成 0,或是將未用逾時值和存在逾時值兩者都設成 0。停用儲存區維護執行緒的建議方法是將執行間隔時間設成 0,在這種情況下,系統不會處理未用逾時值和存在逾時值。 不過,如果未用逾時值和存在逾時值都設成 0,雖然會執行儲存區維護執行緒,但這時只會捨棄因非零逾時值而發生逾時的實體連線。

參考資訊 值
資料類型 Integer
單位 秒
預設值 180
範圍 0 到最大整數

未用逾時值

指定以秒表示的間隔,在這個間隔後,會捨棄未使用或閒置的連線。

請將「未用逾時值」設成比「執行間隔逾時值」還高的值,以得到最佳效能。只有在未使用的現行連線數目超出連線數目下限設定時,才會捨棄未使用的實體連線。 比方說,如果未用逾時值設成 120,且啟用了儲存區維護執行緒(執行間隔時間不是 0),這時會捨棄任何未使用達 2 分鐘的實體連線。 請注意,這個逾時值的精確度以及效能都會受到執行間隔時間值的影響。 如需相關資訊,請參閱 執行間隔時間。

參考資訊 值
資料類型 Integer
單位 秒
預設值 1800
範圍 0 到最大整數

存在逾時值

指定捨棄實體連線之前的間隔(秒)。

將存在逾時值設成 0 支援作用中實體連線無限期留在儲存區中。請將「存在逾時值」設成比執行間隔逾時值還高的值,以得到最佳效能。比方說,如果存在逾時值設成 1200,且執行間隔時間值不是 0,這時會捨棄任何存在時間達 1200 秒(20 分鐘)的實體連線。 請注意,這個逾時值的精確度以及效能都會受到「執行間隔時間」值的影響。 如需相關資訊,請參閱 執行間隔時間。

參考資訊 值
資料類型 Integer
單位 秒
預設值 0
範圍 0 到最大整數

清除原則

指定在偵測到舊連線或嚴重連線錯誤時如何清除連線。

有效值是 EntirePool 和 FailingConnectionOnly。Java EE Connector Architecture (JCA) 資料來源可以有任一個選項。 WebSphere 4.0 版資料來源的清除原則一律是 EntirePool。

參考資訊 值
資料類型 String
預設值 FailingConnectionOnly
範圍
EntirePool
在儲存區中的所有連線都標示為即將停擺。 任何不在使用中的連線都會立即關閉。 在這個連線的下一項作業期間,會關閉使用中的連線,並擲出 StaleConnectionException。 應用程式所發出的後續 getConnection 要求會開啟新的資料庫連線。 當使用這個清除原則時,也有些可能不必要地將儲存區中不是停擺的部分連線關閉。 不過,這種情況很少。 在大部分情況下,EntirePool 的清除原則是最佳選擇。
FailingConnectionOnly
只會關閉造成 StaleConnectionException 的連線。 雖然這項設定會消除不必要地關閉有效連線的可能性,但它會使從應用程式視景回復的作業變成比較複雜。 由於只關閉目前失敗的連線,因此,應用程式所發出的下個 getConnection 要求很可能傳回儲存區中也是即將停擺的連線,從而造成更多連線即將停擺異常狀況。


檔名: umj_sesspoolset.html