【问题标题】:Multiple rail apps using Apache and Mongrel使用 Apache 和 Mongrel 的多个铁路应用程序
【发布时间】:2010-09-18 20:11:02
【问题描述】:

我实际上正在开发一个包含大约 15 个模块的应用程序,所有这些模块都使用同一个数据库。

我正在使用 Apache + Mongrel,我无法使用Passenger,因为我在 Windows 上工作(请原谅我犯了这个致命的罪过!)

以下哪种方法更好?

  1. 部署多个小导轨 使用虚拟服务器的应用程序 每个人都有一对杂种 申请。
  2. 仅部署大型 Rails 应用程序

我担心正在运行的 mongrel 的数量和内存/cpu 负载。

【问题讨论】:

    标签: ruby-on-rails mongrel


    【解决方案1】:

    似乎一个应用程序最适合您的场景......正如其他人所说......

    一个好的经验法则是,行为平均的 mongrel 将消耗 60mb 的内存(或更少)...取出可用的总 RAM,减去任何其他服务(数据库、memcache 等),然后计算你可以从剩余的内存中剩下多少块馅饼。

    你总是可以从那里放大或缩小它们......

    【讨论】:

      【解决方案2】:

      听起来将所有模块集成到一个全面的 Rails 应用程序中会更好地利用您的硬件。

      恕我直言,Rails 的主要弱点是运行低流量或非常低流量的应用程序所需的资源量。另一方面,少数杂种可以为大量流量提供服务。

      【讨论】:

        【解决方案3】:

        我建议部署一个单一的 Rails 应用程序。

        我使用request_routing 插件驱动 3 个域从一个大型 Rails 应用程序共享同一个数据库。

        我正在运行 4 个 mongrel,目前看来已经足够了,但是 YMMV。

        【讨论】:

          【解决方案4】:

          这取决于您希望同时拥有多少客户。一个杂种,一次一个客户端(直到 Rails 2.2),因为 Rails 当前没有线程化。

          如果您不希望同时有几个用户,那么两个就足够了。对于没有用户特定动态内容的页面,您可以通过使用页面缓存绕过 mongrel 来提高该数字。

          真正确定的唯一方法是测试系统。

          根据我的经验,对于一次只有几个用户的中等活跃网站,您至少需要 4 个杂种。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-11-28
            • 1970-01-01
            • 2011-02-28
            • 1970-01-01
            • 2011-07-09
            • 2011-03-10
            • 1970-01-01
            • 2010-10-07
            相关资源
            最近更新 更多