什么时候可扩展性成为部署在 Heroku 上的 Rails 应用程序的一个问题?
Posted
技术标签:
【中文标题】什么时候可扩展性成为部署在 Heroku 上的 Rails 应用程序的一个问题?【英文标题】:At what point does scalability become an issue for a Rails application deployed on Heroku? 【发布时间】:2013-01-23 10:40:03 【问题描述】:Ruby on Rails 的缺陷主要在于它缺乏可扩展性选项,而替代方法通常是迁移到某种形式的 Java webapp 或类似的东西。但在某种程度上,所有的担忧似乎充其量都是非常武断的。
当某个应用程序需要用不同的语言重写时,是否有具体的数字? Heroku 提供了各种缩放选项以及应用程序可用的测功机数量,但在什么时候收益递减(如果有的话)会很明显?或者在什么时候拥有这么多 dyno 的成本会超过编写新应用的成本?
在 Heroku 的基本免费托管计划中,我可以预期能够支持多少活跃的并发用户而不会遇到性能问题?
【问题讨论】:
【参考方案1】:“Rails 无法扩展”的神话不会消失......
引用 Twitter 的首席架构师:
与“更快”的语言相关的性能提升将使我们提高 10-20%,但由于 Ruby 和 Rails 欣然适应的架构变化,Twitter 的速度提高了 10000%。
我不能给你一个固定的数字,但几乎可以绝对保证你在 Ruby 或 Rails 开始成为瓶颈之前很久就遇到了数据库或架构瓶颈。
Teflon Ted 已就该主题创建了a nice collection of blog posts。
【讨论】:
补充一点:您使用的什么语言并不重要。在某个高容量点,您总是会遇到相同的问题,并且几乎总是需要进行架构更改。 IE:我们可以从分布式缓存中提供哪些数据?应用程序的哪些部分访问数据库效率低下?如果您发现自己考虑切换语言只是为了提高性能,您应该考虑看看真正的问题是什么。以上是关于什么时候可扩展性成为部署在 Heroku 上的 Rails 应用程序的一个问题?的主要内容,如果未能解决你的问题,请参考以下文章