LONGQUERYTIMETHRESHOLD

LONGQUERYTIMETHRESHOLD 組態設定可讓您擷取長時間執行之 Essbase 方格和 MDX 查詢的統計資料。指定要擷取統計資訊的最低查詢時間長度 (秒)。

當您啟用 LONGQUERYTIMETHRESHOLD 時, Essbase
  • 簡要地總結每個執行時間超過指定時間值之查詢的「Oracle 診斷日誌 (ODL)」中的查詢效能
  • 設定用於查詢追蹤的記錄臨界值 / 篩選 (啟用 TRACE_REPORT 設定時)

語法

LONGQUERYTIMETHRESHOLD n

其中 n 是秒數。如果設定為 0,則此設定會關閉 (此為預設值)。如果設為 -1,則一律會開啟此設定。

範例

LONGQUERYTIMETHRESHOLD 60

指定執行 60 秒或更長之查詢的統計資料收集。

設定進行中的查詢追蹤

使用組態設定值 TRACE_REPORT 和 LONGQUERYTIMETHRESHOLD 來管理應該在應用程式的「Oracle 診斷日誌 (ODL)」中為立方體收集的查詢追蹤資訊,以及 (或) 列印至 trace_report.log

您可以啟用 TRACE_REPORT 來追蹤一般查詢效能,但是 Oracle 建議您同時設定 LONGQUERYTIMETHRESHOLD 來篩選所有執行時間最長的查詢。

理想,
  • Essbase 設定為僅記錄前 5% 最長執行查詢的資訊。如果您不知道這個值,則 60 秒可能是開始的好地方。
  • 請定期檢查日誌檔是否不會成長太大。
組態類型 TRACE_REPORT 值 LONGQUERYTIMETHRESHOLD 值 對日誌效果
僅限 ODL,含臨界值 設為 0 (或完全未設定) 設為大於 0 的值 n (秒) 所有執行時間超過 n 秒之查詢的效能測量結果會列印到應用程式的 ODL 日誌中。
ODL 與追蹤 (含臨界值) 設定為 -1 設為大於 0 的值 n (秒) 所有執行時間超過 n 秒之查詢的效能測量結果都會列印到應用程式 ODL 日誌中。

查詢執行時間超過 n 秒的資訊會列印至 trace_report.log

不含臨界值的追蹤 - 不建議 設定為 -1 設為 0 (或完全未設定) 所有查詢的資訊 (不論執行時間為何) 都會列印至 trace_report.log

不建議使用此組態,因為如果未使用臨界值篩選 trace_report.log,可能會變得太大,而且如果臨界值太低,查詢效能就會受到影響。

trace_report 日誌位於 <Domain Home>/servers/<Essbase-Managed-Server-Name>/logs/essbase/essbase/app/<application-name>/<cube-name>/trace_report.log

應用程式 ODL 日誌位於 <Domain Home>/servers/<Essbase-Managed-Server-Name>/logs/essbase/essbase/app/<application-name>/<application-name>_ODL.log

如需日誌檔位置的詳細資訊,請參閱 Essbase 平台中的環境位置

何時使用不同的查詢追蹤選項

QUERYTRACE 組態設定是針對單一查詢進行除錯所設計,以防發生任何問題。它會將追蹤日誌列印成 query_trace.txt 立方體目錄,而且在每次執行查詢之前,預設會清除檔案。不應在應用程式組態中啟用 QUERYTRACE 以供長期使用,因為這可能會影響效能。

TRACE_REPORT 組態設定提供的明細比 QUERYTRACE 少,但可以追蹤多個並行查詢。TRACE_REPORT 是收集在一段期間內執行之許多並行查詢資訊的良好選項。

設定 dbname.cfg (在立方體目錄中) 中的 QUERYLOG 參數來啟用查詢記錄日誌,是設計用來追蹤立方體的使用者查詢樣式 (XML 格式)。