Passenger を使用して Apache で Rails アプリケーションを実行し、2 つのブラウザを開くと、log4r を使用してスレッド ID でリクエストをログに記録します。両方のリクエストが同じスレッド ID を使用していることがわかります。それはどのように可能ですか?スリープが期限切れになるまで 1 つのリクエストでスリープすると、別のリクエストがブロックされます。リクエストまたは maxThreadCount ごとに異なるスレッドを使用するように設定できる場所はどこですか? 開発環境での動作ですか、それとも本番環境での動作ですか? これを克服する方法は?
1 に答える
0
config.threadsafe!
production.rbまたはdevelopment.rbに入れてください。
コントローラーアクション内でローカル Web サービスを呼び出すときに同じ問題が発生します。
Pumaの方が同時実行性も優れていますが、そのスレッドセーフな confgi により、webrick がマルチスレッドになります。
于 2012-11-23T16:35:54.520 に答える