資料庫效能疑難排解
本指南說明連線至 Metabase 作為資料來源的資料庫或資料倉儲。
若要修正 Metabase 應用程式資料庫 的問題,請查看這些疑難排解指南
找出瓶頸
- 選用:使用 Metabase 的使用量分析來查看您的 Metabase 使用量統計資料。*
- 前往您的資料庫伺服器記錄,並檢查是否
- 表格大小正在增加、
- 更多人使用 Metabase 來存取您的資料庫、
- 人們更頻繁地存取您的資料庫,或
- 指令碼或應用程式 (而非 Metabase) 正在頻繁地存取資料庫。
- 如果特定表格經常被查詢,請嘗試最佳化您的表格結構描述。
- 從 Metabase 執行問題,然後直接對您的資料庫執行相同的查詢。
- 如果查詢花費的時間大致相同,則您的資料或使用量可能超出資料庫的負荷。您可以為資料庫提供更多資源,或考慮升級您的硬體。
- 如果 Metabase 中的查詢比直接對資料庫執行的查詢花費更長的時間,您可能需要調整 Metabase 應用程式的部署。請查看大規模 Metabase 中的一些選項。
- 如果指令碼或協力廠商應用程式在一段時間內對您的資料庫發出大量查詢
- 停止您的指令碼或應用程式,並清除任何佇列查詢。
- 建議:為您的指令碼新增逾時,排程指令碼或應用程式在非上班時間執行,或複製您的資料庫 (並將您的工具指向該處)。
* 適用於 Pro 和 Enterprise 方案。
重設資料庫連線
- 前往設定 > 管理設定 > 資料庫 > 您的資料庫。
- 按一下儲存變更 (無需進行變更) 以重設 Metabase 與資料庫的連線。
- 或者:直接從您的資料庫終止連線。
說明
透過中斷連線並重新連線您的資料庫來「關閉再開啟」 — 一個簡單的健全性檢查,可以為您節省大量時間。
一般而言,Metabase 會嘗試在 10 分鐘後關閉與資料庫的閒置連線,然後在 20 分鐘後再次嘗試。但如果您的資料庫沒有回應,您可能需要從資料庫端關閉與 Metabase 的連線。
清除佇列查詢
說明
如果某人或某物同時建立 100 個查詢,則此查詢暴衝會佔用 Metabase 與資料庫之間的所有可用連線,阻止任何新查詢執行。如果其他人在前 100 個查詢仍在進行中時繼續執行問題和儀表板,則佇列的成長速度會比資料庫的處理速度更快。
管理資源密集型查詢
說明
預設情況下,Metabase 會對您的資料庫進行定期同步和掃描查詢,以保持您的表格為最新狀態、取得篩選條件下拉式選單的最新值,並提供有用的建議。如果您有非常大的資料庫,您可以選擇手動觸發這些查詢,而不是排程執行。
使用數字、日期或時間戳記欄的問題
- 更新您的資料庫結構描述,使欄的類型正確無誤。
- 同步更新的欄以將變更帶入 Metabase。
說明
如果問題使用在您的資料庫中儲存為錯誤資料類型的資料 (數字、日期或時間戳記值以字串儲存最常見),Metabase 將產生一個查詢,要求您的資料庫即時轉換值。在結構描述層級正確輸入您的欄,將有助於您的資料庫避免額外的步驟,以在 Metabase 中更快地傳回結果。
相關問題
您仍然遇到困難嗎?
如果您無法使用疑難排解指南解決您的問題
- 搜尋或詢問 Metabase 社群。
- 搜尋已知錯誤或限制。
閱讀其他Metabase 版本的文件。