【问题标题】:rails app extremely slowrails应用程序非常慢
【发布时间】:2012-10-12 10:26:07
【问题描述】:

我知道有很多类似的问题,但我无法从这些问题中找到解决方案。所以我们开始.. 我在索尼 vaio 上使用 Ubuntu 12.04。我正在使用 Ruby1.9.3-p194 运行 Rails 3.2.8。我正在使用瘦服务器而不是 webbrick。我也运行了 mongoid、elasticseaerch 和 redis。

页面加载在本地主机上花费了非常长的时间(超过 10 分钟以上)。我知道这个应用程序并不慢,因为它在我同事的 macbook 上运行得很好。我不确定是什么导致它的加载时间非常长。

感谢任何提示。我真的很伤心/不开心,因为它在工作中大大减慢了我的速度。我问过我的同事,但他们似乎都不知道答案。

该应用程序在公司的生产机器上运行良好。这似乎是我的笔记本电脑上的问题。请记住,我有一台速度非常快的笔记本电脑(i5、6gb RAM)

【问题讨论】:

    标签: localhost ruby-1.9.3 performance


    【解决方案1】:

    查看您的日志。在控制台使用tail -f 可以查看各种日志。在您的 rails 应用程序中,查看tail -f log/development.log 您还需要查看您的瘦服务器日志。由于您的同事正在运行相同的代码库,因此 Rails 中的任何实际代码可能不会花费那么长时间。因此,您的第一步是确定您的应用在 http 请求中的哪个时间点卡住了 10 分钟。

    另外,请确保您拥有与同事相同的数据库。消除尽可能多的变量,并从您的已知开始。

    我会问自己的问题:

    • 请求是否立即到达 rails?
    • 是否是由于您的本地配置导致问题的另一个组件(redis、mongodb)?

    也就是说,实际完成的 10 分钟请求很奇怪 - 你是否覆盖了超时?

    【讨论】:

    • 感谢您的回复。我认为它会立即到达 Rails 服务器,但响应似乎很长。我不确定 redis 或 mongo 是否会造成任何麻烦。关于如何检查的任何提示?以及如何覆盖超时?
    【解决方案2】:

    Rails 使用了多少内存和 CPU?有多少内存和 CPU 可用? Rails 应用程序货车有时会泄漏内存并爬行停止。

    【讨论】:

    • 感谢您的回复。 rails 正在使用大约 191 - 300mb 的内存,具体取决于它正在执行的工作类型。它使用大约 2% 到 5% 的 cpu(同样,取决于任务)。平均而言,有 50% 的可用内存(尽管交换内存使用率似乎非常高)并且剩余大量 cpu(大约 70-80% 可用)
    • 所以我有一个 256MiB 的交换空间,已经用完了。现在我将其更改为 2.2GB(又增加了 2GB),但仍然没有任何改善。我添加了 rails-dev-tweaks,我认为它减少了一点时间,但由于加载时间长,仍然无法使用。
    猜你喜欢
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 2017-04-27
    • 1970-01-01
    • 2015-11-21
    • 2014-09-03
    • 2010-10-28
    相关资源
    最近更新 更多