ruby-on-rails - Rails 3 性能

标签 ruby-on-rails ruby-on-rails-3 playframework ruby-1.9.2

我想实现一个像证券交易所这样的网络应用程序,其中的值会一直变化(假设每秒一次)。我可能会使用 ajax comet 来完成。

由于应用程序的性质,用户会有些并发,我有点担心性能。

这些是我的想法:

我想在 Rails 3 中实现它,但我担心性能。有什么好的托管公司可以选择吗?我应该使用云吗? ruby 1.9.2 中的 Rails 3 会比 php 更快(包括数据库查询)?

我可以在 Play 框架中实现它,它可能没有性能问题,但我想在生产中即时进行更改(如果需要),而不需要重新部署等。而且我更喜欢 Rails 一点。

我可以用 PHP 来实现,但这需要更多时间、更多代码

我没有使用 Rails 或 Play 的真实生产系统的经验,所以我对性能不太了解。有人可以帮忙吗?

最佳答案

可能值得考虑使用 Faye ,这是一个“简单的网络发布/订阅消息传递”框架。

Faye 拥有 Ruby 和 Node.js 服务器组件,以及 Ruby 客户端,并且对于您的用例 Web 浏览器至关重要(显然是通过 javascript)。

有两种方法:

  • 将 Faye 服务器嵌入您的 Rails 应用中。漂亮又简单,移动部件更少,需要管理的流程更少,但可能不如以下那样可扩展:
  • 在 Node.js 中运行单独的 Faye 服务器,并使用 Ruby Faye 客户端从 Rails 应用程序向其推送消息。稍微复杂一点。更多事件部件。更多流程需要管理。但至关重要的是,所有繁重的连接工作都是在 Node.js 中完成的,这是它非常擅长的事情。

如果是我,我会从选项 1 开始以保持简单,然后升级到选项 2 当且仅当我可以证明这是必要的。

Railscast 260 中有关于使用 Ruby 中的 Faye 的精彩介绍。 .

关于ruby-on-rails - Rails 3 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6277347/

相关文章:

ruby-on-rails - Carrierwave(开发环境)图像中的本地存储设置渲染效果不佳

ruby-on-rails - 名称错误 : uninitialized constant Smtpapi

ruby-on-rails - 如何让Ajax微调器显示在特定页面上?

ruby-on-rails-3 - has_secure_password : how to require minimum length

ruby-on-rails-3 - 如何使用 acts-as-taggable-on 在 rails 上构建标签层次结构

java - 有人可以解释如何使用 FastTags

iOS,rails,设计 : How to persist user login (session vs authentication_token)

ruby-on-rails - rails postgres 适配器是否支持 ssl?

scala - Intellij : Not a valid project ID:

java - 在 POST 请求中发送响应