ruby-on-rails - 如何使我的网络应用程序更加强大,以应对意外的流量峰值?

标签 ruby-on-rails web-applications heroku cdn

我在 HN 上问过这个问题,但没有得到太多建议。

我是网络应用开发领域的专家。尽管如此,我一直在开发一个应用程序(使用 Ruby on Rails + 与 Heroku 一起部署),该应用程序已经获得了一些非常积极的反馈,因此我想为其投入更多资源。

但是,我不是系统管理员或任何此类人员,因此我不确定采取哪些步骤来确保我的应用程序健壮并且可以处理意外的流量峰值而不崩溃。

本质上,我想为最坏的情况做好准备,处理意外的流量峰值等。

任何具体的指示(尤其是 Heroku)都会有帮助!

最佳答案

在您的应用上加载典型页面的 http 请求的总体分布是怎样的?在 Mozilla Firebug/Chrome 开发工具中打开它并分析正在发出的 http 请求。

如果您发现每个页面加载了大量静态内容(例如 CSS/images/JS ),则表明存在缓存问题(静态内容未缓存)。

您甚至可以将静态内容移动到 CDN (http://en.wikipedia.org/wiki/Content_delivery_network),这两个都是唾手可得的成果。

下一步是确保您的应用程序可以托管在多台计算机上(例如,它不依赖于每个主机之间的相同 http session 和类似的东西)。这样您就可以添加更多主机来满足需求。

关于ruby-on-rails - 如何使我的网络应用程序更加强大,以应对意外的流量峰值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5401313/

相关文章:

ruby-on-rails - rails : How do you render with a layout inside a JS template?

python - MVC 框架从一种语言到另一种语言(例如 ASP.NET、Python、RoR 等)差异很大吗?

c# - 从 IIS 托管环境确定绑定(bind)

php - 一个用户名适用于所有数据库还是多个 MySQL 帐户?

ruby-on-rails - 无法通过 Heroku 和 CloudFlare 访问 Rails 应用程序

ruby-on-rails - 使用 ES6 时无法预编译生产 Assets

ruby-on-rails - 可以使用 Ruby $SAFE 级别来防止 Rails 漏洞的利用吗?

ruby-on-rails - 分号作为Rails Console中的语句分隔符

database - 直接从 couchdb 提供 json 文档

ruby-on-rails - 免费在 Heroku 上运行延迟作业