2011-10-12 88 views
5

我有一个关于托管高交通轨道应用程序的问题。事情是我有3/4年的Ruby on Rails应用程序的经验,但我从来没有过高流量的网站。我非常兴奋,因为这对我和我的同事来说是“下一个阶段”。事情是我们没有使用Rails应用程序来处理“高流量”的经验,首先让我在这种情况下定义“高流量”。“高”交通轨道应用程序的主机问题

我们正在开发的领先的荷兰电信运营商和大约之一的Rails应用程序。每天的访问者将约为40万用户。我们在Ruby 1.9.2和Rails 3.1中进行编程。我们正在使用设计进行身份验证处理。但我们正在寻找可靠的一方来主持这个应用程序。我们正在看Heroku,但我不知道我需要什么,以及我需要多少工人,dyno和/或专用数据库。我们需要流式传输电影,并且我们计划在亚马逊s3存储桶中托管它们。

所以,我正在寻找有关Heroku和/或其他专业和可靠的派对的建议。考虑到铁轨应用,我需要考虑什么?

谢谢!

回答

9

这是很容易粗略解决它在DYNOS方面。

戴诺是单线程的,所以如果你的页面需要200ms的呈现可以渲染每秒5页。你需要弄清楚这些40万用户每秒会有多少页面。然后你就知道每秒钟有多少页面被请求,以及单个测功机可以处理多少页面。所以你只需增加你的动态计数,直到你满足每秒用户请求的数字。

例如1个DYNO @ 200毫秒=每秒 2 DYNOS 5页@ 200毫秒= 10页每秒

等等,这是唯一的一个,因为将要其他因素,如DB性能等球公园数字,但放心Heroku适合这种场景,因为它非常简单,所以添加更多的导航器来增加投入。

您将需要使用工人的任何长期运行的情况下,例如发送电子邮件等地方有可能需要时间来作出反应和处理队列中,如果您的应用程序使用这些第三方。

一旦你超过20Gb的数据库,那么你需要使用专用数据库,听起来像从客户端,每月200美元的启动数据库不会让他们汗流hosting背的托管成本。

我错过了什么吗?如果我没有打电话给我,

+0

1个DYNO你的意思是网络或工人DYNO?那么工人测功机是做什么的?我可以将此视为回形针上传过程和rmagick/imagemagick照片操作吗? –

+1

所以这有点令人困惑。它曾经是dynos(用于网页)和worker(用于后台作业)。在新的堆栈“雪松”上,你只需要一些进程。工人应该用于任何可以在后台执行或可能需要很长时间的任何事情。如果你不这样做,那么在网页的相同请求中调整图像大小就意味着dyno(或web进程)在繁忙时无法处理其他内容。所以在接下来的请求中,如果他们在30秒内没有收到响应,它们将排队并最终超时。 –

+0

感谢您的帮助!我还有一个关于安全性的问题。有什么我需要考虑的吗?我需要让ID的随机和不可预测?什么是最好的方式呢?! –