1

我实际上正在开发和应用程序,它有大约 15 个模块,它们都使用相同的数据库。

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

以下哪个是更好的方法?

  1. 使用虚拟服务器和每个应用程序的一对混合器部署多个小型 Rails 应用程序。
  2. 仅部署大型 Rails 应用程序

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

4

4 回答 4

2

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

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

我正在运行 4 个杂种,现在似乎已经足够了,但是 YMMV。

于 2008-10-23T20:31:26.947 回答
1

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

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

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

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

于 2008-10-23T20:26:53.773 回答
1

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

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

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

于 2008-10-24T14:13:17.430 回答
0

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

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

于 2008-10-24T14:06:57.990 回答