0

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

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

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

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

4

3 回答 3

1

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

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

编辑

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

请更新您的设计并随时通知我。

新编辑

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

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

例如Google Analytics.

如果他们的 javascript 文件的负载阻止了您的视图加载,则可能将它们放入head或制作它们async可能会有所帮助

于 2012-09-11T15:30:58.023 回答
0

我建议你用 falcon 补丁编译一个 Ruby 1.9.3-p194,它可以显着提高 ruby​​ 和 rails 的速度。 rvm中的猎鹰补丁

如果您不想使用 RVM,请下载 ruby​​ src 并应用此补丁。

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

于 2012-09-11T19:37:45.923 回答
-1

只需将 gem rails 调整到您的 gem 文件中,然后运行

bundle install

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

谢谢

于 2012-09-11T15:36:09.300 回答