連線儲存區設定

請利用這個頁面來配置連線儲存區設定。

這個管理主控台頁面是 JDBC 資料來源和 JMS Connection Factory(Unified、Queue 或 Topic Connection Factory)所共用的。 如果要檢視這個頁面,路徑會隨著資源類型而不同,但您通常會選取資源類型的實例,然後按一下連線儲存區。例如:
避免問題: 應用程式用戶端不支援連線儲存區。 應用程式用戶端會直接呼叫資料庫,並不透過資料來源。 如果您要從應用程式用戶端使用 getConnection() 要求,請利用 Rational® Application Developer 或組合工具,在應用程式用戶端部署描述子中配置 JDBC 提供者。連線是建立在應用程式用戶端和資料庫之間。 應用程式用戶端並沒有連線儲存區,但您可以在用戶端部署描述子中配置 JDBC 提供者設定。gotcha
連線逾時值

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

這個值指出當可用儲存區中沒有可用的連線且不能建立新連線時,連線要求要等待多久(秒)。 這通常是因為已達到特定連線儲存區的連線數目上限。

比方說,如果連線逾時值設定為 300,且使用中的連線數目已達上限,儲存區管理員就會在 300 秒內等待實體連線成為可以使用。如果在這段時間內,沒有可用的實體連線,儲存區管理員就會起始 ConnectionWaitTimeout。 在大部分情況下,您不應重試 getConnection() 方法;如果需要較長的等待時間,您應該增加「連線逾時」設定值。 如果應用程式擷取到 ConnectionWaitTimeout 異常狀況,請檢閱預期的應用程式連線儲存區用法,再相應地調整連線儲存區和資料庫。

如果連線逾時值設成 0,儲存區管理員會一直等到有可用連線為止。 當應用程式完成交易且將連線傳回儲存區時,或當連線數目降到「連線數目上限」以下,因而可以建立新的實體連線之時,便會有可用連線。

如果將連線數目上限設成 0 來啟用無限的實體連線數目,系統就不會處理連線逾時值。

資料類型 整數
單位
預設值 180
範圍 0 到最大整數
連線數目上限

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

這些是後端資源的實體連線。 達到這個數目之後,不會建立任何新的實體連線,且要求者將等到目前使用中的實體連線回到儲存區,或擲出 ConnectionWaitTimeoutException 為止。 比方說:如果「連線數目上限」值設定為 5,且有五個實體連線在使用中,儲存區管理員就會在「連線逾時值」所指定的時間內,等待實體連線變成可以使用。

知道可能要求後端(如 DB2® 資料庫或 CICS® 伺服器)連線的連線儲存區數目,有助於判斷「連線數目上限」內容值。

[AIX Solaris HP-UX Linux Windows] [iSeries] 對於使用相同資料來源配置或 J2C Connection Factory 配置的多個獨立式應用程式伺服器而言,每部伺服器都可能有個別的實體連線儲存區。 如果您複製這些相同的應用程式伺服器,WebSphere® Application Server 會實作每個複本的個別連線儲存區。

[z/OS] 請考量存取相同資源的服務者數目;在執行時期,這個數目實質上是您的「連線數目上限」設定的倍數。 當服務者呼叫相同的 JDBC 資料來源或 J2C Connection Factory 配置時,WebSphere Application Server 會針對每個服務者來實作相對應的實體連線儲存區。 因此,相同的連線儲存區會個別存在每個服務者之中。 您的「連線數目上限」設定適用於這些儲存區,每個都適用。

[AIX Solaris HP-UX Linux Windows] [iSeries] 所有這些連線儲存區都對應於相同的資料來源或 Connection Factory 配置。 因此,所有這些連線儲存區有潛在可能性,同時向相同的後端資源要求連線。 這些連線儲存區每個都適用您在這個主控台畫面上設定的單一「連線數目上限」值。 因此,設定較高的「連線數目上限」值,連線要求負載可能使後端資源應接不暇。

[z/OS] 在這些服務者中需要資料來源或 Connection Factory 的每個應用程式,都有可能嘗試以同步方式來使用資源。 因此,相對應的連線儲存區會同時需要相同的後端連線。 請勿將「連線數目上限」值設成「連線要求負載可能使資料庫或其他企業資訊系統 (EIS) 應接不暇」。

資料類型 整數
預設值 10
範圍 0 到最大整數

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

提示: 如果要有較好的效能,請將連線儲存區的值設成低於「Web 儲存器」的「執行緒儲存區連線數上限」值。請導覽至伺服器 > 伺服器類型 > WebSphere 應用程式伺服器 > server > 執行緒儲存區,並修改 WebContainer 內容,來配置這項設定。較低的設定(如 10-30 個連線)效能比較高的設定(如 100)好。

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

連線數目下限

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

如果連線儲存區大小等於或小於連線儲存區大小下限,未用逾時值執行緒便不會捨棄實體連線。 不過,儲存區不會單獨建立連線,以確保能夠維護連線儲存區大小下限。 另外,如果您設定了存在逾時值,不論儲存區大小下限為何,都一律會捨棄經歷時間到期的連線。

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

資料類型 整數
預設值 1
範圍 0 到最大整數
執行間隔時間

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

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

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

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

資料類型 整數
單位
預設值 180
範圍 0 到最大整數
未用逾時值

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

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

「執行間隔時間值」會影響這個逾時的精確度和效能。 如需相關資訊,請參閱執行間隔時間

資料類型 整數
單位
預設值 1800
範圍 0 到最大整數
存在逾時值

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

將「存在逾時值」設成 0 支援:作用中實體連線無限期留在儲存區中。 請將「存在逾時值」設成比「執行間隔逾時值」還高的值,以得到最佳效能,但是請在必要時,才使用「存在逾時值」。

就大部分的資源配接器來說,「存在逾時值」應設為 0。只有在已知受管理連線即將停擺時,才應使用「存在逾時值」。例如,IMS 受管理連線在其原生日誌抵達這條受管理連線的限制之後,就會停止運作。如果日誌將在 30 分鐘之內用盡空間,則應該將「存在逾時值」設為 25 分鐘。如此可以清除受管理連線,並釋放後端資源。

另舉一例,如果將「存在逾時值」設成 1200,且「執行間隔時間值」不是 0,這時會捨棄任何存在時間達 1200 秒(20 分鐘)的實體連線。存在逾時到期而連線仍涉入交易,是唯一例外,在完成交易且關閉連線之前,應用程式伺服器不會捨棄連線。

「執行間隔時間值」會影響這個逾時的精確度和效能。 如需相關資訊,請參閱執行間隔時間

資料類型 整數
單位
預設值 0
範圍 0 到最大整數
清除原則

指定在偵測到連線即將停擺嚴重連線錯誤 時如何清除連線。

有效值是 EntirePoolFailingConnectionOnly

資料類型 字串
預設值
  • EntirePool,適用於 J2C Connection Factory 和 JMS 相關 Connection Factory
  • EntirePool,適用於 WebSphere 4.0 版資料來源
  • EntirePool,適用於您利用管理主控台來建立的現行版本資料來源
  • EntirePool,適用於您利用 wsadmin AdminConfig 指令來編寫 Script,呼叫 WebSphere Application Server 內建 JDBC 範本的資料來源現行版本(如需 createUsingTemplate 指令的相關資訊,請參閱資訊中心的「AdminConfig 物件的指令」一文。)
  • FailingConnectionOnly,適用於您利用 wsadmin 來編寫 Script 而未呼叫 JDBC 範本的資料來源
:
範圍
EntirePool
在儲存區中的所有連線都標示為即將停擺。 任何不在使用中的連線都會立即關閉。 在這個連線的下一項作業期間,會關閉使用中的連線,並擲出連線即將停擺異常狀況。應用程式所發出的後續 getConnection 要求會開啟新的資料庫連線。 當使用這個清除原則時,也有些可能不必要地將儲存區中不是即將停擺的部分連線關閉。 不過,這種情況很少。 在大部分情況下,EntirePool 的清除原則是最佳選擇。
FailingConnectionOnly
只會關閉造成連線即將停擺異常狀況的連線。 雖然這項設定會消除不必要地關閉有效連線的可能性,但它會使從應用程式視景回復的作業變成比較複雜。 由於只關閉目前失敗的連線,因此,應用程式所發出的下個 getConnection() 要求很可能傳回儲存區中也是即將停擺的連線,從而造成更多連線即將停擺異常狀況。

連線前置測試功能會嘗試將應用程式和無效的儲存區連線隔離。 當後端資源(如資料庫)當掉時,可用儲存區中就可能會有無效的儲存連線。 當清除原則是 failingConnectionOnly 時,也就是只移除儲存區中的失敗連線時,尤其如此。 視失敗狀況而定,儲存區中的剩餘連線有可能無效。




標示(線上)的鏈結表示需要存取網際網路。

相關概念
相關工作
相關參考


檔名: udat_conpoolset.html