1

HerokuでDelayed::Jobワーカーをスケーリングすると、奇妙な動作が見られます。

私には数千の仕事がありますが、それらはすべて基本的に同じです。そのキューに1つのワーカーdynoを割り当てると、各ジョブは約4秒で完了します。

ワーカー数を2にスケーリングすると、処理時間は1ジョブあたり平均8秒になります。

ワーカー数を10にスケーリングすると、ジョブあたりの平均処理時間はジョブあたり30秒以上に増加します。

ワーカー数を増やすときに、ジョブあたりの処理時間が長くなることはないと思います。

現在動作しているため、処理時間の増加がより多くのワーカーを持つことによる利益を相殺するため、ジョブのバックログを「チャーンスルー」するためにワーカーの数を増やす方法はありません。

他の誰かがこの動作を見て、(より重要なことに)問題を解決する方法を知っていますか?

4

1 に答える 1

1

データベースの処理時間に関する指標はありますか?ボトルネックはデータベースエンジンにある可能性があるため、ワーカーの数に関係なく、そこに閉じ込められたままになる可能性があります...

于 2012-06-28T17:35:46.323 に答える