5

我有一个关于托管高流量铁路应用程序的问题。问题是我有 3 / 4 年的 Ruby on Rails 应用程序经验,但我以前从未有过高流量的网站。我真的很兴奋,因为这对我和我的同事来说是“下一个层次”。问题是我们没有使用 Rails 应用程序处理“高流量”的经验,首先让我在这种情况下定义“高流量”。

我们正在为荷兰领先的电信供应商之一开发 Rails 应用程序,以及大约。每天的访问者将是大约 400.000 名用户。我们正在使用 ruby​​ 1.9.2 和 Rails 3.1 进行编程。我们正在使用设备进行身份验证处理。但我们正在寻找一个可靠的一方来托管这个应用程序。我们正在研究 Heroku,但我不知道我需要什么以及我需要多少工人、测功机和/或专用数据库。我们需要流式传输电影,我们计划将它们托管在 amazon s3 存储桶上。

所以问题是我正在寻找有关 Heroku 和/或其他专业和可靠方的建议。关于 Rails 应用程序,我需要考虑哪些事情?

谢谢!

4

1 回答 1

9

就测功机而言,粗略计算它很容易。

测功机是单线程的,因此如果您的页面需要 200 毫秒来渲染,您可以每秒渲染 5 个页面。您需要计算出这 400,000 名用户每秒将创建多少页。然后你知道每秒有多少页被请求以及单个测功机可以处理什么。因此,您只需增加您的测功机计数,直到您满足每秒的用户请求数。

例如 1 dyno @ 200ms = 5 页/秒 2 dyno @ 200ms = 10 页/秒

等等等等。这只是一个大概的数字,因为还有其他因素,比如 DB 性能等,但请放心,Heroku 适合这种类型的场景,因为它非常简单,所以添加更多的测功机来增加吞吐量。

您需要将工作人员用于任何长时间运行的事件,例如发送电子邮件等,如果您的应用程序使用它们,第三方可能需要时间来响应和处理队列。

一旦你超过 20Gb 的数据库,那么你就需要使用一个专用的数据库,从客户那里听起来,每月 200 美元的启动数据库不会让他们在托管成本方面大汗淋漓。

我错过了什么吗?如果我真的回到我身边,

于 2011-10-12T20:12:06.557 回答