反饋已提交

網絡繁忙

資料連結進階設定

1. 概述

1.1 版本

報表伺服器版本
功能變動
10.0.18
  • 「連結池設定」按鈕改名為「進階設定」

  • 部分資料連結支援設定 fetchsize

11.0.2進階設定佈局優化
11.0.23增加 fetchsize 參數配置
11.0.24優化平台資料連結中關於「連結校驗」和「保活」相關的配置項

1.2 功能簡介

本文將介紹資料連結進階設定的配置項中各參數的意義。

2. 具體介紹

在連結 FineReport 時,使用者可以在連結頁面進行一些進階設定,平台和設計器都可以設定。

2.1 設計器進階設定

設計器設定頁面如下圖所示:

  • 常用設定

名稱
druid學名預設值含義
最大活動連結數maxActive50
連結池在同一時間能夠分配的最大活動連結的數量
獲取連結前檢驗testOnBorrow申請連結時執行 validationQuery 檢查連結是否有效
閒置連結可用性定期檢查keepAlive
檢查到需要留下的連結保證其可用
校驗語句validationQuery預設語句
用來檢查連結是否有效的 SQL 語句,要求是一個查詢語句,常用select 'x' 。使用者可自訂該語句。
最大等待時間maxWait10000
獲取連結時最大等待時間,單位毫秒
  • 不太常用的連結池屬性(如無特殊場景不建議修改)

名稱druid學名預設值含義
初始化連結數
initialSize0連結池初始化時建立物理連結的個數
最小閒置連結數minIdle0
連結池中保持的最小閒置連結數量
歸還連結前校驗testOnReturn歸還連結時執行validationQuery檢查連結是否有效
開啟閒置回收器校驗testWhileIdle指明連結是否被閒置連結回收器(如果有)進行檢驗,如果檢查失敗,則連結將被從池中去除
閒置連結回收器休眠時間timeBetweenEvictionRunsMillis-1在閒置連結回收器執行緒運作期間休眠的時間值,以毫秒為單位
閒置連結回收檢查數numTestPerEvictionRun3用於指定在每次閒置連結回收運作時要測試的連結數量
保持閒置最小時間值minEvictableIdleTimeMillis1800s連結保持閒置而不被驅逐的最小時間

2.2 平台進階設定

  • 常用連結池屬性

名稱  druid學名預設值
含義  
最大活動連結數maxActive50
連結池在同一時間能夠分配的最大活動連結的數量
獲取連結前檢驗testOnBorrow申請連結時執行 validationQuery 檢查連結是否有效
閒置連結可用性定期檢查keepAlive
檢查到需要留下的連結保證其可用
校驗語句validationQuery預設語句
用來檢查連結是否有效的 SQL 語句,要求是一個查詢語句,常用select 'x' 。使用者可自訂該語句。
最大等待時間maxWait10000
獲取連結時最大等待時間,單位毫秒
  • 「更多設定」中不太常用的連結池屬性(如無特殊場景不建議修改)

名稱
druid學名預設值含義
初始化連結數
initialSize0連結池初始化時建立物理連結的個數
最小閒置連結數minIdle0
連結池中保持的最小閒置連結數量
歸還連結前校驗testOnReturn
歸還連結時執行validationQuery檢查連結是否有效
獲取連結時閒置連結可用性校驗testWhiledle
指明連結是否被閒置連結回收器(如果有)進行校驗,如果校驗失敗,則連結將被從池中去除
閒置連結回收器工作時間間隔

timeBetweenEvictionRunsMillis

60000ms(60s)該參數用於指定連結池中的閒置連結檢查和清理執行緒運作的時間間隔,單位為毫秒。
閒置連結回收檢查數

numTestPerEvictionRun

3
指定在每次閒置連結回收運作時要測試的連結數量
閒置連結回收時間臨界值
minEvictableIdleTimesMillis
1800s如果一個連結在連結池中閒置時間超過了臨界值,並且連結數超過了「最小閒置連結數」,那麼該連結就會被從連結池中移除
閒置連結強制回收時間臨界值maxEvictableIdleTimeMillis25200s(7h)
一個連結在連結池中閒置的時間超出了該臨界值,會被從連結池中移除
閒置連結可用性定期檢查時間臨界值keepAliveBetweenTimeMillis120000ms(2min)
閒置連結的保持存活時間,可以確定在閒置一段時間後連結不會被意外關閉

最大活動連結數設定超過資料庫中的連結數目,只能按照資料庫中的連結數目為準,如想調至最大,則也要調整資料庫中的連結數目,參考文檔 連結池滿問題 中的解決方案。

  • fetchsize 設定

fetchSize 參數是用於控制從資料庫中獲取資料的成批處理大小的設定。較小的 fetchSize 值會減少每次資料庫查詢的記憶體消耗,但可能需要更多的資料庫往返來獲取完整的結果集;較大的 fetchSize 值可以減少資料庫往返次數,但會增加記憶體使用量。可以根據你的需求透過設定 fetchSize 參數值,來優化資料庫查詢效能。

若參數值 ≤ 0(例如:-20)則表示不開啟 fetchsize 參數。

1)Oracle、DB2、Postgre 這三種資料庫必須設定 fetchsize 參數,所以若設定了≤0 的參數值,會自動分別被更換為 128、50、10000。

2)其他資料庫預設情況下不開啟 fetchsize 參數。

使用者也可在設計器中,對「Oracle、DB2、Postgre」資料連結設定 fetchsize。可輸入 1~1,000,000 中的任意數值,若為空則表明不配置此項參數。

3. 注意事項

如果存取範本時,報連結逾時、等待狀態,警告如下所示:

警告:Cannot get a connection, pool error Timeout waiting for idle object
at com.fr.third.org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:114)
at com.fr.third.org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at com.fr.data.pool.MemoryConnection.create(Unknown Source)
at com.fr.data.impl.JDBCDatabaseConnection.createConnection(Unknown Source)

則需要把相應連結數調大。


附件列表


主題: 資料準備
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙