0

Railsアプリケーション用にApache+Haproxy+Mongrelをセットアップしています。特定のサーバーページにアクセスすると、mongrelがリクエストを処理するのに約100ミリ秒かかり、ホーム接続が遅い場合のデータ送信時間のため、約5秒でページが表示されます。

この5秒間のデータ送信中、mongrelは他の要求を処理しないことがわかりました。これは、mongrelが応答htmlをクライアントに提供していて、クライアントがそれを受信するまでブロックされていることを意味するので、私は驚いています。応答を提供するのはApacheの仕事ではありませんか?

これは、クライアント接続の速度に依存するため、Mongrelが処理できる要求の数に深刻なボトルネックをもたらします。mongrelによって生成されたhtmlがapache/haproxyまたはnginxのような他のWebサーバーによって提供される方法はありますか?
他のトラフィックの多いサイトがそれをどのように管理しているのだろうか?

4

2 に答える 2

1

雑種を使用するほとんどのサイトは、あなたが経験しているようにブロックするので、それらの多くを使用します。

最近の乗客の行き方なので、代わりに乗客を調べたいと思うでしょう。

于 2009-05-11T22:21:45.073 に答える
0

mongrel自体はマルチスレッドですが、railsはデフォルトで一度に1つのプロセスしか処理できませんが、これはconfigによって変更できます。雑種の場合は、mongrel-clusterを使用します。

参考までに、乗客もアプリケーションのプールを設定しますが、展開する方が優れており、プレスも優れており、現在人気があります。

于 2010-06-14T10:37:43.087 に答える