Rackspace サーバーでレールを使用して ruby 1.9.3 を実行しています。Ruby には 12 のプロセスがあり、サーバーの CPU の 99.3% を占めています。使用するプロセスとCPUの数を制限するか、一般的にCPUの使用量を減らすための構成ファイルまたはオプションはありますか? これを修正するにはどうすればよいですか。
更新: Apache でパッセンジャーを使用しています
Rackspace サーバーでレールを使用して ruby 1.9.3 を実行しています。Ruby には 12 のプロセスがあり、サーバーの CPU の 99.3% を占めています。使用するプロセスとCPUの数を制限するか、一般的にCPUの使用量を減らすための構成ファイルまたはオプションはありますか? これを修正するにはどうすればよいですか。
更新: Apache でパッセンジャーを使用しています
アプリケーションサーバーを実行していますか? Passenger、Unicorn、およびその他の一般的な ruby アプリ サーバーの両方で、ワーカー プロセスの最大数を構成できます。たとえば、アプリ サーバーのワーカー数を 10 に制限したい場合 (ご覧のとおり 12 です):
unicorn.rb 構成ファイルの unicorn の場合、次のように設定します。
worker_processes 10
nginx の下の Passenger の場合、設定セットで:
http {
...
passenger_max_pool_size 10;
}
Apache の下の Passenger の場合、Passenger/Apache 設定で:
PassengerMaxPoolSize 10
これで質問の答えが得られない場合は、実行しているアプリケーション サーバーまたは Ruby インフラストラクチャを教えてください。
問題が見つかりました!New Relic および Resque ワーカーにバグがあります ( https://github.com/defunkt/resque/issues/578 )。これを解決する New Relic Beta gem を使用しています。gem 'newrelic_rpm'
私はこれを置き換えました:gem 'newrelic_rpm', "~> 3.5.6.48.beta"