【问题标题】:How to speed up Rails Development Environment and avoid spinning up如何加速 Rails 开发环境并避免旋转
【发布时间】:2014-09-18 18:19:20
【问题描述】:

我很快就会有一个应用程序演示,我需要我的开发环境比现在快一点。我正在运行带有 Ruby 1.9.3、Postgres 和 Anvil/Pow 的 Rails 3.2.19 应用程序,以在 Apple Mac Mini(Core i5/4g ram)上提供服务,并且需要能够以适当的响应时间演示应用程序。

在生产中,应用运行得非常快,但在开发中运行速度较慢,有时如果我让应用闲置并点击另一个 URL,应用需要一分钟才能再次启动。

我想知道这是否是 Pow 的问题,而我应该只运行一个本地 rails s 实例来启动环境。我看到的主要问题是,当应用程序闲置一段时间(比如说一个小时左右)时,当我在应用程序中点击一个 url 或资源时,应用程序可能需要一分钟才能再次响应.

我在这里遗漏了什么可以防止延迟的东西吗?

【问题讨论】:

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


    【解决方案1】:

    我个人的意见是放弃 Pow 并使用 UnicornThinPuma 但出于对所有美好事物的热爱,请不要使用内置的默认 WEBrick :)!

    我在本地使用 Unicorn(这也是我们在生产盒中使用的),并且我的本地站点与生产一样快或更快。

    我从 Pow 开始,但遇到了很多像您提到的小“问题”,并且自从切换到 run Unicorn as my Rails development server 后一直很高兴。

    【讨论】:

    • 我喜欢 Pow/Anvil,因为它为您提供了 .dev 域,这非常好,但性能损失却很严重。来看看,我没有意识到,但我的Gemfile 已经很薄了。所以我做了一个bundle exec thin start,它比 webbrick 或 Pow 快得多。我应该将薄宝石转移到我的开发组吗?显然,我一直把它放在我的主要Gemfile 中作为生产宝石,但没有意识到这一点。另外,thin 是否会在一段时间后出现降速问题?
    • Thin 不必在开发组中,但我认为,如果它不是您的生产服务器,建议将它放在该组中(因为我们在两者上都使用 Unicorn,所以我让我的它的 gem 条目与其他条目混合在一起,而不是在一个专门的组中)。对于我也喜欢的 .dev 域,您可以在 Mac 上轻松完成此操作。只需编辑 /private/etc/hosts 并将其添加到新行:0.0.0.0 www.mysuperawesomelocalsite.dev
    • 这里是在 Mac 上设置虚拟主机的链接(适用于 10.8 和 10.9):coolestguidesontheplanet.com/…
    • 太棒了,谢谢。我已将 gem 移至我的开发组。我假设因为我没有在生产中使用它(我使用乘客),所以当我下一次部署到生产时不会产生任何不良影响?
    • 很好,谢谢你的建议。我让应用程序在我的电脑上闲置了 3 个小时,然后又回来了。没有启动时间,它立即加载。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多