1

16 個の resque キューがあり、これらのキューのメモリ割り当てを確認しようとすると、これらのキューごとに 4% のメモリが表示されます。しかし、その時点では、これらのキューはすべて空です。SO、私のメモリの 100% のうち、ほぼ 64% が環境負荷自体によって使用されています。それが私が感じていることです。

私の疑問は 1. これらのレスキュー キューのそれぞれが、完全なアプリケーションを個別にメモリにロードするかどうかです。

  1. はいの場合、すべての resque キューがメモリ内の 1 つの場所にロードされた同じ環境を使用するように、resque 構成を変更できますか?

前もって感謝します

4

1 に答える 1

0

Resque を使用している場合、運が悪いと思います。これが、Sidekiqが Resque のほぼ完全な代替品として開発された理由だと思います。Sidekiq の作成者は、Resque のメモリ使用量をどのように改善したかを説明するブログ投稿を書きました。Sidekiq の FAQから少し引用します。

マルチスレッドの Resque ではなく Sidekiq を使用する理由

Carbon Five に戻って、フォークの代わりにスレッドを使用するように Resque を改善することに取り組みました。そのプロジェクトが Sidekiq の基礎となりました。いくつかの理由から、Resque のフォークよりも Sidekiq を使用することをお勧めします。

  • MT Resque は、Carbon Five クライアントの 1 回限りのものであり、サポートされていません。Web UI のワーカー スレッドの表示など、クライアントにとって重要ではないため、解決されなかった多くのバグがあります。
  • Sidekiq は、セルロイドを介してスレッドを使用するためにゼロから構築されました。
  • Sidekiq にはミドルウェアがあり、ジョブのライフスパンでクールなことを行うことができます。Resque は、このようなミドルウェアをネイティブにサポートしていません。

簡単に言えば、MT Resque: 1 人のクライアントが多額の費用を節約するための簡単なハック、Sidekiq: 同じ問題に対して適切に設計されたソリューションです。

于 2012-07-16T11:02:53.867 に答える