【问题标题】:Heroku PostgreSQL Crane DB vs Linode 1GB with PostgreSQL installedHeroku PostgreSQL Crane DB 与安装了 PostgreSQL 的 Linode 1GB
【发布时间】:2013-08-25 23:21:30
【问题描述】:

我正在尝试决定是使用 Heroku Crane PostgreSQL 数据库(每月 50 美元 - https://postgres.heroku.com/pricing)还是设置安装了 PostgreSQL 的 Linode 1GB Ram / 8 CPU / 48GB 存储 / 2TB 传输实例(每月 20 美元 - https://www.linode.com/)。

我知道从管理的角度来看,使用 Heroku Crane PostgreSQL 会容易得多,因为一切都在安全和备份的照顾下进行管理。

我很好奇的是这两个数据库的性能将如何比较。使用 Linode 1GB / 8 CPU 实例,将只使用我的数据库。我看到 Heroku Crane 说它只有 400 MB RAM。 Heroku Crane 也不清楚我有多少 CPU 以及它是否是专用实例。

Heroku DB 是否更有效地管理 DB 的 RAM/Cache?我不清楚 Linode PostgreSQL 实例是否会自动有效地使用可用的 1GB RAM,或者是否需要我进行自定义设置以确保将数据库加载到 RAM 中。

如果 Heroku DB 的性价比会降低,但由于安全性、备份和管理都得到了照顾,这是一个更好的交易,那可能是可以接受的,我只是想了解权衡。

感谢人们提供的任何信息。我是数据库管理的新手,一直在使用安装了 PostgreSQL 的 Linode 1GB 实例进行开发和测试,但现在我要投入生产了,我正在质疑是否要转移到 Heroku Crane。另外,不确定这是否重要,但我的服务器是通过 Heroku Web 实例托管的。

【问题讨论】:

    标签: postgresql heroku linode heroku-postgres


    【解决方案1】:

    较低的 Heroku 计划位于共享服务器上,该服务器使用 LXC 分区到容器中。详情是on Heroku's site。您的计划似乎就是其中之一。

    如果您碰巧在其他用户没有在服务器上施加太多负载的实例上,这实际上可能是一个胜利as discussed in this question。不过,这会让您的表现难以预测。

    表征性能的唯一好方法是通过模拟生产工作负载进行基准测试。

    RAM 是否真正重要取决于您的数据。如果您经常访问的数据和索引适合在一台机器上的 RAM 中,而不是在另一台机器上,那么 RAM 差异将产生巨大的差异。如果数据适合两台主机上的 RAM,那么添加 RAM 几乎没有什么好处。如果热数据在任何一台机器上都无法放入 RAM,那么磁盘 I/O 性能就变得比 RAM 更重要,主要是随机读取 I/O 和 fsync() 刷新率。

    所以。使用您的预期数据大小模拟您的工作负载并进行基准测试。

    Heroku discusses cache in more detail here.

    (根据我的个人资料,我在与 Heroku 处于同一领域的另一家公司工作,因此我不愿意以某种方式表达强烈的意见)。

    【讨论】:

    • +1 符合您的用例的基准是要走的路。您的 Linode 实例客观上应该更适合原始基准测试,但它可能会或可能不会在实践中产生重大影响。 Heroku Postgres 的备份、分叉和跟踪非常重要。
    猜你喜欢
    • 1970-01-01
    • 2017-07-12
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2021-08-05
    • 2017-11-28
    • 2010-11-26
    相关资源
    最近更新 更多