0

私のResqueジョブは、基本的にparamsハッシュを取得してDBに保存します。その過程で、いくつかの読み取りと書き込みを行います。

これらのR/Wは約かかります。ローカルマシンで合計5ミリ秒、Herokuでもう少し(共有DBのせいだと思います)。

ただし、キューが処理される速度は非常に低く、1秒あたり約2〜3ジョブです。これを引き起こしている可能性がありますか?

ありがとうございました。

4

1 に答える 1

1

新しいジョブを確認し、ジョブをロックし、ジョブを実行し、完了としてマークし、新しいジョブを探します。

新しいジョブを取得するための交渉、Redisへのアクセスなどが、多くのオーバーヘッドを引き起こしていることに気付くかもしれません。タスクの長さが5ミリ秒しかない場合は、おそらく要求と応答のサイクル内に存在する可能性があります。タスクを実行すると応答時間が大幅に長くなる場合、バックグラウンドジョブは優れています。非常に小さなジョブは、通常、労力を費やす価値がありません。

于 2011-06-30T12:46:41.173 に答える