Rails非常慢

时间:2012-09-11 15:24:06

标签: ruby-on-rails ruby-on-rails-3 performance ruby-on-rails-3.2

对不起,我知道这是一个通用的问题,我会尽量提供尽可能详细的信息

我在Amazon EC2 Medium实例上运行Bitnami Rubystack(3.2.7)。 Rails的某些方面非常慢,以下是其中一些:

  • 登录时(我正在使用设计宝石),如果您提供的密码无效,则需要很长时间才能告诉您密码无效。
  • 注册过程需要很长时间,大约2分钟后响应(当它需要做的只是再次运行几个查询?)
  • 文件上传(在carrierwave上)非常慢,几乎无法正常工作。 (文件将通过CarrierWave上的Fog转到S3。)

以上实例中的代码非常简单,我没有看到任何明显错误的内容。事实上,大部分工作都是由宝石完成的(例如设计处理注册和登录)。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

尝试使用分析工具,例如New Relic

这将帮助您找到最慢的代码和/或最慢的数据库查询

<击> 的修改

<击>

在下面的评论中,您提到您正在使用设计0.5.8,这非常糟糕,考虑到设计今天是版本2.1.2

请更新您的设计并让我发布。

新编辑

由于设计版本不是问题,您可以查看视图。

在视图中检查可以插入单个请求或异步请求的http请求。

例如Google Analytics

如果他们的javascript文件加载阻止您加载视图,可能会将其置于head或使async帮助

答案 1 :(得分:0)

我建议您使用falcon补丁编译Ruby 1.9.3-p194,它会大大增加ruby和rails速度。 falcon patch in rvm

如果您不想使用RVM,请下载ruby src并应用此修补程序。

如果在Apache配置中启用了反向DNS查找的某些参数,那么它也可能是DNS问题。

答案 2 :(得分:-1)

只需将gem rails tweak放入您的gem文件中,然后再运行

bundle install

我认为它会解决你的问题。

由于