Postgres 服务器磁盘空间不足

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

问题

包含 Analytics 数据的 Postgres 服务器已用尽磁盘空间。

在以下示例中,您可以看到磁盘 /u01 填满了 90% (176GB/207GB) 磁盘空间。

$df -g

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

错误消息

除非 Postgres 服务器。

可能的原因

下表列出了此问题的可能原因:

原因 适用于
磁盘空间不足 Edge Private Cloud 用户
缺少 Google Analytics 数据剪枝 Edge Private Cloud 用户

磁盘空间不足

诊断

Postgres Server 上出现磁盘空间错误的一个典型原因是,您没有 有足够的磁盘空间来存储大量分析数据。以下步骤将 可以帮助您确定是否有足够的磁盘空间, 问题。

  1. 参考 Analytics 代理,确定流向 Edge 的 API 流量的速率 性能信息中心。

    显示平均 TPS 的代理性能示例

  2. 请考虑以下情况: <ph type="x-smartling-placeholder">
      </ph>
    1. 贵组织的传入 API 流量为 22 TPS(每秒事务数)。
      1. 这意味着 API 流量为每天 1,900,800 笔交易 (22 * 60 * 60 * 24)。
      2. 请注意,Google Analytics 中每笔交易/消息的大小为 1.5K 字节。
      3. 因此,每天生成 2.7GB 的 Google Analytics 数据 (1, 900,800 * 1,5 K)。
    2. 您需要在 Postgres 上保留 30 天的 Analytics 数据 供参考的服务器。
      1. 30 天生成的总数据量 = 81GB (2.7GB * 30)
    3. 因此,要以 22 TPS 的流量速率存储 30 天的 Google Analytics 数据,您需要 具有 150GB 的磁盘空间
      1. 81GB(Google Analytics 数据)+ 50GB(日志等其他数据)+ 20GB(额外 缓冲区空间)= 150GB。
  3. 如果系统上的磁盘空间较少,即少于 150 GB(根据 则表明您没有足够的磁盘空间来存储 Google Analytics 数据。

分辨率

为 Postgres Server 机器添加足够的磁盘空间。

缺少 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 支持团队联系。