Postgres 伺服器磁碟空間不足

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

問題

包含數據分析資料的 Postgres 伺服器已用盡磁碟空間。

在以下範例中,您可以看到磁碟 /u01 已填滿 90% (176 GB/207 GB) 的磁碟空間。

$df -g

Filesystem Size User Avail Use% Mounted on
/dev/mapper/sysvg-syslv09 207G 176G 176G 21G 90% /u01

錯誤訊息

除非 Postgres 伺服器中的磁碟空間已完全填滿,否則您可能不會看到任何錯誤訊息。

可能原因

下表列出這個問題的可能原因:

原因 適用於
磁碟空間不足 Edge Private Cloud 使用者
缺少 Analytics (分析) 資料修剪 Edge Private Cloud 使用者

磁碟空間不足

診斷

造成 Postgres Server 上的磁碟空間出錯的原因之一,就是您的磁碟空間不足,無法儲存大量的分析資料。下列步驟可協助您判斷磁碟空間是否充足,並採取適當行動解決問題。

  1. 查看 Analytics (分析) Proxy 效能資訊主頁,確定傳入的 API 流量速率。

    顯示平均 TPS 的 Proxy 效能範例

  2. 請考量下列情境:
    1. 貴機構傳入的 API 流量為 22 TPS (每秒交易次數)。
      1. 換句話說,API 流量為每天 1,900,800 筆交易 (22 * 60 * 60 * 24)。
      2. 請注意,Analytics (分析) 中的每筆交易/訊息大小為 1.5,000 個位元組。
      3. 因此,每天會產生 2.7 GB 的 Analytics (分析) 資料 (1, 900,800 * 1.5,000)。
    2. 您必須在 Postgres 伺服器上保留 30 天的 Analytics (分析) 資料以供參考。
      1. 第 30 天產生的總資料為 81 GB (2.7 GB * 30)
    3. 因此,若要以 22 TPS 的流量速率儲存 30 天的 Analytics (分析) 資料,則需要有 150 GB 的磁碟空間。
      1. 81 GB (Analytics (分析) 資料) + 50 GB (其他資料,如記錄檔等) + 20 GB (額外的緩衝區空間) = 150 GB。
  3. 如果系統上的磁碟空間不足 (如上述範例所示),儲存空間不足 150 GB (如上述範例所示),則磁碟空間不足,無法儲存 Analytics (分析) 資料。

解析度

為 Postgres 伺服器裝置新增足夠的磁碟空間。

沒有 Analytics (分析) 資料修剪

診斷

隨著 Edge 的 API 流量增加,儲存在 Postgres 資料庫的分析資料數量也會增加。可儲存在 Postgres 資料庫的分析資料量受限於系統可用的磁碟空間大小。

因此,如果您未採取下列任一動作,就無法繼續在 Postgres 資料庫中儲存其他數據分析資料:

  1. 新增更多磁碟空間。

    這並非可擴充的選項,因為我們無法持續增加磁碟空間,因為這個做法有限且費用昂貴。

  2. 縮減資料保留時間超過必要的保留期限。

    建議您採用這個解決方案,確保定期移除不需要的資料。

如果您未定期以手動方式或使用 Cron 工作修剪資料,那麼數據分析資料量會持續增加,最後可能導致系統耗盡磁碟空間。

解析度

如何修除超過所需保留期限的資料:

  1. 決定保留間隔,也就是您想在 Postgres 資料庫中保留 Analytics (分析) 資料的時間長度。
  2. 執行下列指令,修剪特定機構和環境的資料:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge
      org env number_of_days_to_retain [Delete-from-parent-fact - N/Y] [Skip-confirmation-prompt - N/Y]
    

這個指令碼提供以下選項:

  • Delete-from-parent-fact 預設值:否。系統不會一併刪除父項資訊表的保留期限之前的資料。
  • Skip-confirmation-prompt。預設值:否。如果沒有,指令碼會先提示確認,然後再刪除父項資料。如果清除指令碼已自動化,請設為「是」。

詳情請參閱「縮減 Analytics (分析) 資料」一文。

如果問題持續發生,請與 Apigee Edge 支援團隊聯絡。