【问题标题】:Cloud SQL or VM Instance to host MySQL Database用于托管 MySQL 数据库的 Cloud SQL 或 VM 实例
【发布时间】:2015-12-02 05:25:45
【问题描述】:

我有一个网站,但我不知道在哪里托管它的数据库。

Google Cloud SQL D1 层具有 0.5 GB RAM,其费用为每天 1.46 美元。

GCE n1-standard-2 有 7.5 GB RAM,其成本为每天 1.68。

我在 Cloud SQL 上托管我当前的数据库,当并发活动连接增加时性能下降。一定是因为云sql的RAM太低了。

我可以在 VM Instance 上设置 mysql 服务器,并可以远程访问外部服务器。此外,Cloud SQL 对最大连接数有限制。

那么,我为什么要把它托管在 Cloud SQL 上?

我主要关心的是性能。

【问题讨论】:

    标签: mysql sql-server google-compute-engine google-cloud-sql


    【解决方案1】:

    Google Cloud SQL 是一项提供完全托管的 MySQL 数据库的服务。 Google 负责应用补丁和更新、管理备份和配置复制。在 Compute Engine 虚拟机上安装 MySQL 会将 MySQL 的维护和管理工作交给您。

    每个 Cloud SQL 实例都在区域内可用 (https://cloud.google.com/sql/sla),并包含 7 天的免费备份。数据在许多地理位置自动加密和复制,并且自动处理副本之间的故障转移。

    关于费用,当您的数据库处于非活动状态时,您无需为 Cloud SQL 实例付费。如果“按使用”计费的 15 分钟和“包”计费的 12 小时没有连接,则数据库实例处于非活动状态。 “按使用”和“包”计费选项可帮助用户根据他们的数据库使用情况节省开支。总而言之,使用不常访问的小型数据库的 Cloud SQL 用户每月支付的费用通常不到 1.00 美元,而运行经常访问的大型数据库的用户支付的费用更高。

    您可以通过专门为您的应用程序在 GCE 上调整 MySQL 安装来超越 Cloud SQL,但我建议您考虑自动故障转移和备份等功能,因为这些可能会成为管理难题。

    【讨论】:

    • 感谢 Brett 的见解。我知道 Cloud SQL 会自己做维护和管理。但我面临的问题是:有涉及数千行要处理的数据库查询。在 GCE 上的 MySQL 上,它运行良好,但在 Cloud SQL 上,它开始增加活动连接数,最终服务器崩溃并显示 500 错误。我认为这是因为 Cloud SQL 实例的 RAM 低。有什么建议吗?
    • 需要更深入的分析来确定您看到 500 错误的原因。那不应该发生。但是,您可能还会查看 Cloud SQL 第二代实例,它的规模高于第一代,因为听起来您拥有一个大型活动数据库。
    • @cfl 我尝试使用 Cloud SQL,但经常出现 500 错误。所以,我切换到 GCE,现在我自己管理备份(使用 cron 作业,然后转移到云存储),它运行良好。此外,我在我的 SQL 语句中发现了错误,这些错误正在创建多个活动连接,导致 500 错误。所以我想如果我转回 Cloud SQL,它也会运行良好,但我觉得这样做有点懒:P。另外,我觉得 Cloud SQL 对我来说比 GCE 有点贵,所以我不会切换回去。如果您需要了解更多信息,请告诉我:)
    • @BrettH。这仍然正确吗?实例按活动连接计费?
    • 我在 2015 年的回答提到了 Cloud SQL 第一代。 Cloud SQL 第二代于 2016 年发布,今年早些时候,第一代已退役。 Cloud SQL 第二代的计费模式不同,实例在运行时计费。第二代实例不会根据活动(活动连接)自动停止。
    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 2015-01-08
    相关资源
    最近更新 更多