升级后Heroku Postgres DB较慢
2天前,我将Heroku Postgres服务器从Kappa升级到Ronin。 我们的数据库高达几GB,我认为额外的内存将有助于缓存。 我使用标准的快速交换技术(创建追随者,允许转移,提升追随者)。 我知道缓存可能需要一段时间才能预热,但已经过了好几天,并且一直在慢慢下降。
我们较小的数据库运行大约5毫秒的响应时间。 转移后新的数据库跳到了大约10ms(冷藏)。 此后在10ms和20ms之间波动。
有一些配置可能会有所不同吗? 我知道每个应用程序都是不同的,但缓存现在不应该升温吗? Kappa和Ronin之间有没有无证的区别?
谢谢
我以前见过这样的客户,他打电话给我一些紧急的帮助。
在与heroku bash
进行了一些讨论后,我们最终得出结论:新实例位于特别繁忙的底层服务器上。 我们通过追随者升级到另一台机器进行故障转移,此时性能大大提高 - 尽管故障转移由于主机问题而具有挑战性。
据我所知,Heroku的实例是运行LXC容器的Amazon EC2节点(Xen虚拟机)来隔离每个Heroku用户的数据库集群。 LXC提供的隔离度比完整的虚拟机少; 实例可以争用RAM,磁盘I / O,CPU等,具体取决于使用OpenCZ配置的确切策略,任何控制组策略等。
如果您的实例中其他用户的用处不大,并且容器允许您的数据库使用其他用户当前不需要的资源,则您可以轻松看到稳定高于保证的性能。
我怀疑在更大的heroku计划中的人更有可能实际上正在使用您共享容器的系统的资源。
如果您将升级故障转移到所有用户都在那里的更大实例,因为他们确实需要更大型机器提供的资源,那么实际上可以整体获得更少的资源,因为每个人都实际使用他们的共享资源。
Heroku对运行他们的数据库的系统提供很少的可见性令人沮丧。 很难说出容器主机之间如何/如何进行负载平衡,系统的底层负载是什么等等。
在评论中,@Forrest指出Heroku在他们的服务器细节上有一个有用的页面,表明只有较低层的是多租户,但更高层不是。 这很容易解释这里观察到的性能损失,并且符合我上面的评论,下面的计划允许Forrest从其他用户借入未使用的资源。
我们刚刚迁移并注意到同样缓慢。 然而,我没有得到支持的正式答案。 我的用户抱怨,我现在对Heroku很失望。
链接地址: http://www.djcxy.com/p/79059.html上一篇: Heroku Postgres DB slower after upgrade
下一篇: Rails App on Heroku Cannot Write to PostgreSQL Database, Only Read