# Ruby on Rails 如何在 550k 网页浏览中幸存

> 原文： [http://highscalability.com/blog/2008/1/7/how-ruby-on-rails-survived-a-550k-pageview-digging.html](http://highscalability.com/blog/2008/1/7/how-ruby-on-rails-survived-a-550k-pageview-digging.html)

Shanti Braford [详细介绍了他基于 Ruby on Rails](http://highscalability.com/links/goto/260/197/links_weblink) 的网站如何在 24 小时 550,000+浏览量 Digg 攻击中幸免于难。 他的帖子清晰地列出了所有多汁的设置细节，所以我没什么可补充的。

托管费用为每月 370 美元，包括一台 Web 服务器，一台数据库服务器和足够的带宽。 该站点建立在 RoR，nginx，MySQL 和 7 个杂种服务器上。 他认为 Rails 2.0 改善了性能，并避免了信用数据库和片段缓存，从而在很大程度上提高了性能。

请记住，他的系统是相对静态的，但这是一个非常有趣且有用的体验报告。

更令我惊讶的是，他的系统以前所未有的水平处理了峰值，而没有任何方面的干扰，而不是 RoR 处理 505k 网页浏览量。 响应流量高峰的扩展始终是 bit 子。 在 E3 期间运行游戏网站总是很有趣。

不过要警惕他最后给出的流量比较。 Twitter 每月只做 50 万个独特身份，这听起来很低。 如果您听说过某个网站，那么他们每个月至少要做一百万个，鉴于其受欢迎程度和 alexa 排名，我将 Twitter 推到了接近 5 个磨坊。 不要被欺骗，认为每月 327 美元将托管一个不错的网站。

本文通过将唯一的页面视图与页面视图相结合而犯了一个大错误。 Twitter 可能轻松拥有 500,000 个唯一身份和 25,000,000 个页面浏览量。

24 小时内浏览量达到 550k？

每小时 22917。
每分钟 382。
每秒 6.36。

对不起，没留下深刻的印象。
除非您从 5 年前开始就坚持使用硬件，否则您的应用程序
需要非常昂贵的 I / O 或 CPU 工作，那么这简直就是天才。

如果 RoR 中的“普通 Web 应用程序”在如此轻的负载下开始发汗，那么，老兄，请更换工具。

我们的某些 PHP 和 Java 垃圾（实习黑客，postgres 和应用在同一台计算机上，远未优化）
一年前在标准硬件上可轻松处理 30 次以上的命中/秒（2 cpus，2G，6 锭子）。

每台计算机的击中速度低于 40 次/秒的任何事情，要么做的事情异常昂贵
，要么一定要做，而不应该放在简历上。

就像之前的评论者所说的那样……每天 550K 简直是无济于事。 不久之前，我不得不部署一些 Java 应用程序来完成大量的图像+电影处理（提取一些关键帧并生成一些缩略图= Java + JNI）。 每分钟的平均每日交易量约为 1000，有些高峰为每分钟 2000。 因此，每天点击量为 1.5 到 300 万，并且在 4 台服务器上运行。
每天 550 K 基本上是当今不断发展的世界中的花生...将其带到 1000 万甚至更多，然后变得很有趣

只是以为我会花点时间回应。

首先，它不是 550k 在 24 小时内平均分配。 在首页出现的最初几个小时中，大约有 30 万次。 我知道，这仍然不是惊天动地。

但是人们（尤其是我的客户）对 RoR FUD 的了解尤其深刻，以至于他们在扩展方面没有任何见解。 只有精英的，“成功的” Web 2.0 初创公司才能使它进入每天流量 100-200k 唯一身份的流量平流层。 而且，正如我们所看到的（如果您具有正确的站点配置文件/缓存策略等），可以花$ 400 左右处理！

客户真正应该问的是，它可以经济/高效地进行扩展吗？

以每千次展示费用 3 美元（对于这些网站我会定期获得），每天 550k 网页浏览量可使您每月获得约 5 万美元的收入。 $ 400 只是其中的 1％。 哪一家科技公司不希望硬件+托管成本占收入的 1％？

当然，这类网站不是 Google……但它们与 Digg，reddit 等网站所需的编码并没有太大区别。

“通过将唯一的页面视图与页面视图相结合，本文犯了一个大错误。” -从来没有把它混为一谈。

老实说，如果 Twitter 的 Web 前端在一天内看到这么多的流量，我会感到惊讶（它的 API 是另一回事）。 由于他们从未发布过这种效果的原始流量统计信息（至少最近），因此无论如何都是推测。

是我，那个“没那么印象深刻”的家伙。

好吧，除了陈述显而易见的事实之外，我不确定该去哪里：硬件和托管很便宜。
如果您的公司为此支付了超过 1％的费用，则无论哪种方式，您都将面临严重的麻烦
（当然，除非您的公司正在启动中）。

我看不到这是什么新闻，因为已经有几年了。
如果硬件/主机价格昂贵，那么我们不会看到像 del.icio.us 这样的单人秀和其他人脱颖而出。

维持在线业务的主要成本现在已经不是短时间内的托管或硬件。

那不是完全正确的...

托管对您来说并不是一个大笔开支，但是如果您经营一个视频网站，托管肯定可以。 一个相当不错的规模视频网站可以轻松地每月赚取 50-100k 美元。 如果那是您在该网站规模上的收入的 1％，请向我发送一些投资信息-我参与其中！

就像我之前说过的那样，Shanti 的成功不应仅仅因为他的网站不如我们所研究的网站大或因为我们看到系统在相似的水平上而被抛弃。 关键是他的系统在很大程度上扩展到了他以前从未处理过的水平，而且它“行之有效”。 我对 RoR 的了解还不够，无法知道这是否很常见，或者 Shanti 的系统是否构建良好。 无论哪种方式，恭喜您-不要让我们失望。

@Anonymous-太好了，您现在是在声音较弱的少数族裔中，而在“缩放很便宜”方面。 =）

我刚刚开始专职咨询，排名第一的问题是“ Rails 可以扩展吗？” 如果不是问题，那我就告诉他们。 但博客圈似乎喜欢 Rails 无法扩展的模因。

谢谢布伦特。 是的，希望有一天我能回顾这一经历，并想“哇，550k，花生！” 但在那之前，这肯定是个人的里程碑。 干杯!

看来本文中的链接可能已损坏。 想阅读它吗-可以解决？ :)

谢谢！ 我是这个网站的忠实粉丝。

抱歉，我无法找到原始文章。