1

私は実際に、約 15 のモジュールを持つアプリケーションを開発しており、それらはすべて同じデータベースを使用しています。

Apache + Mongrel を使用しています。Windows で作業しているため、Passenger を使用できません (この大罪を許してください!)

次のうち、より良いアプローチはどれですか?

  1. 仮想サーバーと各アプリケーションの雑種のペアを使用して、複数の小さな Rails アプリケーションをデプロイします。
  2. 大きな Rails アプリケーションのみをデプロイする

実行中の雑種の数とメモリ/CPUの負荷が心配です。

4

4 に答える 4

2

モノリシックな Rails アプリケーションをデプロイすることをお勧めします。

request_routingプラグインを使用して、1 つの大きな Rails アプリケーションから同じデータベースを共有する 3 つのドメインを駆動します。

私は4つのmongrelsを実行しています.今のところはこれで十分だと思われますが、YMMV.

于 2008-10-23T20:31:26.947 に答える
1

他の人が言っているように、1つのアプリケーションがあなたのシナリオに最も適しているように思われます...

経験則として、平均的な動作の雑種は60MB(またはそれ以下)のメモリを消費します...使用可能なRAMの合計を取得し、他のサービス(データベース、memcacheなど)を差し引いて、その数を計算します。残りのメモリから残しておくことができるパイの。

そこからいつでもスケールアップまたはスケールダウンできます...

于 2008-10-24T14:13:17.430 に答える
1

それは、予想される同時クライアントの数によって異なります。Rails は現在スレッド化されていないため (Rails 2.2 まで)、一度に 1 つの雑種、1 つのクライアントです。

少数以上の同時ユーザーが予想されない場合は、雑種は 2 つで十分です。ページ キャッシングを使用して、ユーザー固有の動的コンテンツを持たないページの mongrel をバイパスすることで、その数を増やすことができます。

本当に確実な唯一の方法は、システムをテストすることです。

私の経験では、一度に数人のユーザーしかいない適度にアクティブなサイトには、少なくとも 4 つの雑種が必要です。

于 2008-10-23T20:26:53.773 に答える
0

すべてのモジュールを1つの包括的なレールアプリに統合する方が、ハードウェアをはるかに有効に活用できるようです。

IMHOのRailsの主な弱点は、トラフィックの少ないアプリまたは非常に少ないアプリを実行するために必要なリソースの量です。一方、いくつかの雑種は、大量のトラフィックを処理するのに大いに役立ちます。

于 2008-10-24T14:06:57.990 に答える