4

専用のアクセラレーターで、http://hansard.millbanksystems.comでRails サイトを運営しています。現在、mod-proxy-balancer を使用して Apache をセットアップし、アプリケーションを実行している 4 つの雑種にプロキシしています。

一部のリクエストはかなり遅く、他のリクエストがキューに入れられる状況を防ぐために、アイドル状態の雑種がある場合はリクエストをその雑種に転送するプロキシのオプションを検討しています。

オプションは次のとおりです。

  • http://labs.reevoo.com/で説明されているように、Apache 用に mod_proxy_balancer を再コンパイルします。

  • Solaris の公平なプロキシ バランサーを使用して nginx をコンパイルする

  • Open Solaris 用の haproxy のコンパイル (ただし、これは SMF ではうまく機能しない可能性があります)

これらは合理的な選択肢ですか?明らかなことを見逃していませんか?アドバイスをいただければ幸いです。

4

6 に答える 6

4

Apacheは、バランス調整に使用するちょっと変わった獣です。それは確かに可能ですが、それは買い物をするために戦車を使うようなものです。

Haproxy / Nginxは、より具体的にその仕事に合わせて調整されています。より高いスループットを得ると同時に、より少ないリソースを使用する必要があります。

于 2008-10-13T10:32:47.753 に答える
3

mod_proxy_balancerHAProxy は、 、nginx、および他のほとんどのソフトウェアよりもはるかに豊富な負荷分散機能を提供します。

特にあなたの状況では、ログ出力は高度にカスタマイズ可能であるため、遅いリクエストがいつ、どこで、なぜ発生するかを簡単に特定できるはずです。

また、優れた自動フェイルオーバー機能も備えた、いくつかの異なる負荷分散アルゴリズムが利用可能です。

37Signals には Rails と HAProxy に関する投稿があります(元の記事はこちら)。

于 2008-12-26T00:40:21.670 に答える
2

Apacheを避けたい場合は、nginxやlighttpdなどの代替Webサーバー、およびPoundやハードウェアベースのソリューションなどのさまざまなロードバランサーを使用してMongrelクラスターをデプロイすることができます。

ポンド(http://www.apsis.ch/pound/)は私にとってうまくいきました!

于 2008-10-13T11:12:33.490 に答える
2

haproxy と SMF の唯一の問題は、ラッパー スクリプトを作成しない限り、ソフト リスタート機能を使用して「更新」アクションを実装できないことです。こちらにもう少し詳しく書いてます

ただし、IME haproxy は、solaris で完全に防爆されているため、強くお勧めします。私たちは、solaris 10 上の単一の haproxy インスタンスを介して、1 日に数百 GB から数 TB のデータを出荷しており、これまでのところ (木に触れて) 2 年以上の運用で問題はありませんでした。

于 2009-04-08T20:23:02.747 に答える
1

Poundは、私が過去に使用して成功した HTTP ロード バランサです。特定の問題に役立つ動的スケーリング機能が含まれています。

DynScale (0|1): 動的再スケーリング コードを有効または無効にします (デフォルト: 0)。有効にすると、さまざまなバックエンドからの応答時間を均等にするために、Pound は定期的にバックエンドの優先度を変更しようとします。この値は、特定のサービスに対してオーバーライドできます。

Pound は小さく、十分に文書化されており、構成が簡単です。

于 2009-11-30T03:26:29.027 に答える
0

mod_proxy_balancer + mongrel_cluster を正常に使用しました (トラフィックの少ない Web サイト)。

于 2008-10-14T10:43:09.697 に答える