Heroku PostgreSQL起重机DB vs安装了PostgreSQL的Linode 1GB



我正试图决定是否使用Heroku Crane PostgreSQL数据库(每月50美元-https://postgres.heroku.com/pricing)或者在安装PostgreSQL的情况下设置Linode 1GB Ram/8 CPU/48GB Storage/2TB Transfer实例(每月20美元-https://www.linode.com/)。

我知道,从管理的角度来看,使用Heroku Crane PostgreSQL会容易得多,因为一切都是通过安全和备份来管理的。

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

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

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

感谢人们提供的任何信息。我是DB管理的新手,一直在使用安装了PostgreSQL的Linode 1GB实例进行开发和测试,但现在我要去生产了,我想知道是否要转到Heroku Crane。此外,不确定这是否重要,但我的服务器是通过Heroku web实例托管的。

Lower Heroku计划位于一个共享服务器上,该服务器使用LXC划分为多个容器。详细信息在Heroku的网站上。你的计划似乎就是其中之一。

如果你碰巧在一个其他用户没有给服务器带来太大负载的实例上,这实际上可以是一场胜利,正如本问题中所讨论的那样。不过,这会降低你的表现的可预测性。

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

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

所以。通过模拟您的工作负载和预期数据大小进行基准测试,请参阅。

Heroku在这里更详细地讨论了缓存。

(根据我的个人资料,我在另一家与Heroku相同的公司工作,所以我不愿意以这种或那种方式表达强烈的意见)。

最新更新