Oracle WebLogic 10.3 連接池參數配置詳解

 

 

Oracle WebLogic 10.3 連接池參數配置詳解

Oracle WebLogic 10.3 連接池參數配置詳解

JDBC 數據源配置:常規

Name

Description

Name

可在 WebLogic 域中標識該數據源的唯一名稱

JNDI Name

此數據源綁定到的 JNDI 路徑。默認情況下,JNDI 名稱就是數據源的名稱。

要為數據源指定多個 JNDI 名,請在單獨的行上分別輸入每個 JNDI 名。

查找 JNDI 路徑的應用程序將得到與此數據源對應的 javax.sql.DataSource 實例。

Row Prefetch Enabled

啟用通過一次服務器訪問”預取”(即從服務器發送到客戶端)多個行。

當外部客戶端通過 WebLogic Server 使用 JDBC 訪問數據庫時,行預取功能可以一次性地訪問服務器來為客戶端提取多行,從而提高性能。當客戶端和 WebLogic Server 位於同一 JVM 中時,WebLogic Server 將忽略此設置且不使用行預取功能。

Row Prefetch Size

如果啟用行預取,則指定為客戶端預取的結果集行數。

最佳預取大小取決於此查詢的具體設置。通常在達到特定值之前,增加此數字時性能會提高。達到此特定值後,即使再增加此數字,也不會使性能有任何顯著的提高。如果超過 100 行,提高性能的可能性將微乎其微。通常默認值即適用於大多數情況。

最小值: 2

最大值: 65536

Stream Chunk Size

指定流量數據類型的數據塊大小。

流數據類型(例如,調用 getBinaryStream() 而得到的數據類型)將根據需要以按大小排列好的數據塊形式從 WebLogic Server 發送到客戶端。

最小值: 1

最大值: 65536

 
 

 
 

 
 

JDBC 數據源配置: 連接緩衝池

配置選項

Name

Description

URL

要連接到的數據庫的 URL。URL 的格式隨 JDBC 驅動程序的不同而變化。

Driver Class Name

用於在連接緩衝池中創建物理數據庫連接的 JDBC 驅動程序類的完整包名。(請注意,此驅動程序類必須存在於將其部署到的任何服務器的類路徑中。)

Properties:

傳遞給創建物理數據庫連接時使用的 JDBC 驅動程序的屬性的列表。

例如: server=dbserver1。請分別在單獨的行上列出各個 property=value 對。

要啟用驅動程序級功能,請將驅動程序屬性及其值添加到”屬性”列表。WebLogic Server 設置驅動程序的 ConnectionPoolDataSource 對象上的”屬性”列表中的驅動程序級屬性。

 
 

注意:

由於安全方面的原因,當 WebLogic Server 以生產模式運行時,您不能在此屬性列表中指定數據庫密碼。如果在此屬性列表中指定密碼,那麼數據源部署將會失敗。要替代此安全檢查,請在啟動此服務器時使用命令行參數”weblogic.management.allowClearTextPasswords”。

Password

創建物理數據庫連接時傳遞給 JDBC 驅動程序的密碼屬性。

該值以加密形式存儲在描述符文件及顯示在”管理控制台”中。

  

Confirm Password

請確認密碼。

Initial Capacity

要在創建連接緩衝池時創建的物理連接數。

如果無法創建這一數量的連接,創建此連接緩衝池的操作將會失敗。

此連接數也是連接緩衝池將保持的最小可用物理連接數。

最小值: 0

最大值: 2147483647

Maximum Capacity

此連接緩衝池可容納的最大物理連接數。

Capacity Increment

將新連接添加到連接緩衝池時創建的連接數。

不再有可用的物理連接來滿足連接請求時,WebLogic Server 會創建該數量的附加物理連接並將它們添加到連接緩衝池中。

Statement Cache Type

用於維護存儲在語句緩存中的準備就緒的語句的算法。

選項有:

§  LRU – 當使用新的預處理或可調用語句時,替換緩存中最近最少使用的語句。

§  FIXED – 緩存前若干個固定數量的預處理和可調用語句。

Statement Cache Size

存儲在緩存中的”準備就緒”語句和可調用語句的數量。(這樣可能會提高服務器性能。)

WebLogic Server 可以重用緩存中的語句而無需重新加載它們,這樣便可提高服務器性能。連接緩衝池中的每個連接都有其自己的語句緩存。

將語句緩存的大小設置為 0 將會關閉該語句緩存。

高級配置選項

名稱

描述

Test Connections On Reserve

使 WebLogic Server 能夠在將連接提供給客戶端之前對連接進行測試。(要求指定”測試表名稱”。)

此測試在響應客戶端對緩衝池中的連接的請求時將添加短時間的延遲,但會確保客戶端收到有效連接。

對於使用故障轉移算法的在多數據源中使用的連接緩衝池,該測試是必需的。

Test Frequency

WebLogic Server 對未用連接進行測試的間隔秒數。(要求指定”測試表名稱”。)未通過測試的連接將被關閉,然後將它們重新打開以重新建立有效的物理連接。如果測試再次失敗,則此連接將被關閉。

如果設置為 0,定期測試將被禁用。

Test Table Name

測試物理數據庫連接時使用的數據庫表名。指定”測試頻率”和啟用”測試保留的連接數”時需要此名稱。

用於測試連接的默認 SQL 代碼為”select count(*) from TestTableName”

大多數數據庫服務器會優化此 SQL 以避免對錶進行掃描,但仍然建議將”測試表名稱”設置為已知包含極少的行或不包含行的表的名稱。

如果”測試表名稱”以”SQL “開頭,則此開始標記後面的字符串剩餘部分將被視為用於測試連接的 SQL 語句文字而非標準查詢。

Seconds to Trust an Idle Pool Connection

在將連接傳遞到應用程序之前或定期連接測試過程期間,WebLogic Server 相信連接仍然有效並將跳過連接測試時使用連接的秒數。

此選項是一種最佳選擇,可以最大程度地減少連接測試對性能造成的影響(特別是在流量很大的時候)。

最小值: 0

最大值: 2147483647

Shrink Frequency

在收縮為滿足需要而增大了的連接緩衝池前需等待的秒數。

如果設置為 0,收縮將被禁用。

最小值: 0

最大值: 2147483647

  

Init SQL

要執行的、將初始化新建物理數據庫連接的 SQL 語句。以 SQL 後跟一個空格作為語句的開頭。

如果”初始 SQL”值以”SQL “開頭,則此開始標記後面的字符串剩餘部分將被視為用於初始化數據庫連接的 SQL 語句文字。如果”初始 SQL”值不以”SQL “開頭,該值將被視為表格的名稱,並會使用下列 SQL 語句來初始化連接:
“select count(*) from InitSQL”

表 InitSQL 必須存在且此連接的數據庫用戶必須能夠訪問它。大多數數據庫服務器會優化此 SQL 以避免對錶進行掃描,但仍然建議將 InitSQL 設置為已知包含極少的行或不包含行的表的名稱。

Connection Creation Retry Frequency

建立數據庫連接嘗試的間隔秒數。

如果不設置此值,則在數據庫不可用的情況下,創建數據源的操作將失敗。如果已設置此值且在創建數據源時數據庫不可用,則在您指定的秒數之後,WebLogic Server 將重新嘗試在緩衝池中創建連接,並會不斷嘗試創建連接,直到創建成功。

如果設置為 0,連接重試將被禁用。

最小值: 0

最大值: 2147483647

Login Delay

創建每個物理數據庫連接前的延遲秒數。此延遲支持不能快速連續處理多個連接請求的數據庫服務器。

在初始數據源創建及數據源生命周期內,每當創建物理數據庫連接時都會有此延遲。

最小值: 0

最大值: 2147483647

Inactive Connection Timeout

保留連接處於不活動狀態的秒數,該秒數過後 WebLogic Server 將收回該連接並將其釋放回連接緩衝池。

可以使用”非活動連接超時”功能收回泄漏的連接 – 未由應用程序顯式關閉的連接。請注意,不能使用此功能來代替正常關閉連接。

如果設置為 0,此功能將被禁用。

最小值: 0

最大值: 2147483647

Maximum Waiting for Connection

等待保留數據源的連接緩衝池中的連接時會阻塞線程的最大並發連接請求數。

最小值: 0

最大值: 2147483647

Connection Reserve Timeout

保留連接緩衝池中的連接的調用超時之前經過的秒數。

如果設置為 0,則調用永遠不會超時。

如果設置為 -1,則調用會立即超時。

最小值: -1

最大值: 2147483647

  

Statement Timeout

此時間後當前正在執行的語句將超時。

StatementTimeout 依賴於底層 JDBC 驅動程序支持。WebLogic Server 使用 java.sql.Statement.setQueryTimeout() 方法將指定的時間傳遞給 JDBC 驅動程序。如果 JDBC 驅動程序不支持此方法,可能會引發異常並導致超時值被忽略。

值為 -1 時禁用此功能。

值為 0 表示語句不會超時。

最小值: -1

最大值: 2147483647

Ignore In-Use Connections

即便仍在使用從緩衝池獲取的連接,也能夠將數據源關閉。

Pinned-To-Thread

PinnedToThread 是一個能夠改善性能的選項,它啟用執行線程以保持已進入緩衝池的數據庫連接,即使在應用程序關閉邏輯連接之後。

啟用 PinnedToThread 後,WebLogic Server 將在應用程序首次使用某個執行線程保留連接時把連接緩衝池中的一個數據庫連接固定到此線程。當應用程序使用完此連接並調用 connection.close()(此方法在其他情況下將把連接返回到連接緩衝池)時,WebLogic Server 將把該連接保留給執行線程,而不會將其返回連接緩衝池。當此後某個應用程序使用相同的執行線程請求連接時,WebLogic Server 將提供此線程已保留的這個連接。

使用 PinnedToThread,當多個線程嘗試同時保留一個連接時,連接緩衝池上不會發生鎖定衝突,對於試圖在有限個數的數據庫連接中保留同一個連接的線程,也沒有衝突。

如果應用程序使用相同的執行線程同時保留連接緩衝池中的多個連接,WebLogic Server 將創建附加的數據庫連接並同樣將它們固定到此線程。

Remove Infected Connections Enabled

指定在應用程序使用底層供應商連接對象之後是否從連接緩衝池中刪除連接。

如果禁止刪除已佔用的連接,必須確保該數據庫連接適合被其他應用程序重複使用。

設置為 true(默認設置)時,應用程序關閉邏輯連接後將不把物理連接返回給連接緩衝池。將關閉並重新創建此物理連接。

設置為 false 時,應用程序關閉邏輯連接後,物理連接將返回到連接緩衝池並可由該應用程序或其他應用程序重複使用。

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營