使用 Cloud SQL 避免高昂的日常费用
Avoid high daily charges with Cloud SQL
所以我处于开发模式,在开发后的 10 天内,我收到了 300 美元 的账单 Google。
我做了什么:
- 创建了一个测试 table,并向其中添加了记录 - 文本和数字。
- 从我的 Mac 执行了多个查询,我会说 每天 100 次,持续 6 天。
- 有一个 table 大约 100k 行和 6 列。
这就是我对每个查询所做的(是否为每个查询重新连接成本更高?):
engine = sqlalchemy.create_engine('postgresql://' + username + ':' + password + '@' + host + ':' + port + '/' + database)
df = pd.read_sql_query(current_query, engine)
- 我一次写大约 2000 行(只有我自己),有时我会读几千行 - 为了开发。
你可以看到我的费用 and
- CPU24小时一直显示1.4%,我一直没用
我可以看到每天 RAM 的费用为 9 美元,CPU 的费用为 8 美元。收费是固定而且是每天收费,看来跟我的操作无关。
我和Google谈过,他们无法解释这笔费用,你在Console
上也看不到这个。
我怎样才能准确了解他们向我收取的费用?好像是每日固定金额。
如果这就是 Google 的收费方式,想想 10k 用户(或更多)要花多少钱就很可怕
Cloud SQL 不会按您执行的查询收费,它会按您使用的实例收费。
这是在Cloud SQL docs中提到的,如@cory-kramer 所说:
Cloud SQL pricing is composed of the following charges:
- CPU and memory pricing
- Storage and networking pricing
- Instance pricing
定价文档中的成本是每个 vCPU 每小时和每 GB 内存每小时。如果您使用 HA 实例,这些是双倍的。
从屏幕截图中,我可以说您创建了一个 HA Cloud SQL 实例,因为它显示 Regional(顺便说一句,没有必要隐藏 SKU,那些是public 并且每个人都一样)。
假设您在 us-central1 中有一个使用带有 4 个 vCPU 和 15 GB RAM 以及 10 GB 磁盘的 Postgres 的 HA 实例。
使用 GCP Calculator 我们得到 1 个实例每月 397.89 美元的估算值。
现在的后续问题可能是,“如果我只使用实例 1 天或 2 天,报告说我使用了超过 24 或 48 小时”。
原因是 vCPU 作为实例拥有的核心数倍增。这也适用于 RAM,它与 的充电方式非常相似。
公式为:
cpu_hours = vCPUs * 24 hrs * days instance was active
memory_hours = RAM * 24 hrs * days instance was active
为了避免大量费用,您可以 start/stop 每天实例化,或者如果这是一个开发实例,您可以将硬件减少到一个非常小的实例,例如 1 个 vCPU、0.614 GB 或最小的必要硬件来工作。您也可以 make it zonal(不是 HA)
价格也会根据创建的区域而变化。
我的建议是在创建资源之前充分了解定价以避免任何意外。我知道文档可能会令人困惑,但最好花些时间检查一下,以便优化预算。
所以我处于开发模式,在开发后的 10 天内,我收到了 300 美元 的账单 Google。
我做了什么:
- 创建了一个测试 table,并向其中添加了记录 - 文本和数字。
- 从我的 Mac 执行了多个查询,我会说 每天 100 次,持续 6 天。
- 有一个 table 大约 100k 行和 6 列。
这就是我对每个查询所做的(是否为每个查询重新连接成本更高?):
engine = sqlalchemy.create_engine('postgresql://' + username + ':' + password + '@' + host + ':' + port + '/' + database)
df = pd.read_sql_query(current_query, engine)
- 我一次写大约 2000 行(只有我自己),有时我会读几千行 - 为了开发。
你可以看到我的费用
- CPU24小时一直显示1.4%,我一直没用
我可以看到每天 RAM 的费用为 9 美元,CPU 的费用为 8 美元。收费是固定而且是每天收费,看来跟我的操作无关。
我和Google谈过,他们无法解释这笔费用,你在Console
上也看不到这个。
我怎样才能准确了解他们向我收取的费用?好像是每日固定金额。
如果这就是 Google 的收费方式,想想 10k 用户(或更多)要花多少钱就很可怕
Cloud SQL 不会按您执行的查询收费,它会按您使用的实例收费。
这是在Cloud SQL docs中提到的,如@cory-kramer 所说:
Cloud SQL pricing is composed of the following charges:
- CPU and memory pricing
- Storage and networking pricing
- Instance pricing
定价文档中的成本是每个 vCPU 每小时和每 GB 内存每小时。如果您使用 HA 实例,这些是双倍的。
从屏幕截图中,我可以说您创建了一个 HA Cloud SQL 实例,因为它显示 Regional(顺便说一句,没有必要隐藏 SKU,那些是public 并且每个人都一样)。
假设您在 us-central1 中有一个使用带有 4 个 vCPU 和 15 GB RAM 以及 10 GB 磁盘的 Postgres 的 HA 实例。
使用 GCP Calculator 我们得到 1 个实例每月 397.89 美元的估算值。
现在的后续问题可能是,“如果我只使用实例 1 天或 2 天,报告说我使用了超过 24 或 48 小时”。
原因是 vCPU 作为实例拥有的核心数倍增。这也适用于 RAM,它与
公式为:
cpu_hours = vCPUs * 24 hrs * days instance was active
memory_hours = RAM * 24 hrs * days instance was active
为了避免大量费用,您可以 start/stop 每天实例化,或者如果这是一个开发实例,您可以将硬件减少到一个非常小的实例,例如 1 个 vCPU、0.614 GB 或最小的必要硬件来工作。您也可以 make it zonal(不是 HA)
价格也会根据创建的区域而变化。
我的建议是在创建资源之前充分了解定价以避免任何意外。我知道文档可能会令人困惑,但最好花些时间检查一下,以便优化预算。