10

私の CMS には、ユーザーが画像でいっぱいの zip ファイルをアップロードできる機能があり、サーバーはそれらを抽出して、それぞれを画像ギャラリーに挿入します。私は、これが CPU をかなり酷使し、他のリクエストの速度を低下させることに気付きました。

delayed_job プラグインを使用して、各画像の追加をバックグラウンドに委任することを考えていますが、そのプロセスの CPU 優先度を低くして、サーバーが停止しないようにしたいと考えています。

エクササイズの遅延部分にはかなり自信がありますが、抑制部分で行き詰まっています。メソッド呼び出しの優先度を下げるルビーの方法はありますか?

CPU チューイングを引き起こすのは画像のサイズ変更です。

どんなアイデアも歓迎します:)

4

1 に答える 1

7

CMS が Linux システムで実行されている場合は、「nice」コマンドを使用してこれを行うことができます。「nice」は、より低い優先度でプロセスを開始します。これを使用する最も簡単な方法は、コマンドの前に nice を置くことです。したがって、次のようなコマンドを実行していた場合

unzip uploaded-images.zip

代わりに実行

nice unzip uploaded-images.zip

これにより、解凍プロセスの CPU 優先度が低くなり、他のプロセスが最初に実行されます。優先度レベルの調整方法など、その他のオプションについては、 man ページを参照してください。

于 2010-03-08T14:53:23.890 に答える