2017-04-14 5 views
0

この記事では、私にはそれが、このキュー内のメッセージの数にdisproportionsをどのように解釈するかはまだ明らかではないもののに関する制御キューNSBマスターノードは、メッセージの負荷を制御するために使用するよう指示:https://docs.particular.net/nservicebus/msmq/distributor/ディストリビュータのストレージキューと制御キューのメッセージ数を解釈するにはどうすればよいですか?

私は私のNSBサービスで遅さを観察しています前には遅いことは一度も経験していない。何らかの理由で、過去の時間と比較してすべてのマスターノードごとに並列スレッドが少なくなり、割り当てられるスレッドの最大量など、ワーカーまたはマスターノードの構成に変更はありませんでした。私はそれが労働者を養うことを望まないマスターノードであるか、または労働者がより多くの仕事をしたくないかを理解しようとしています。

コントロールキュー内のメッセージの量が15から40に、ストレージが5-8だけになっています。ディストリビューターは彼らにもっとメッセージを送ることはできませんが、私はそれを労働者の仕事の準備として解釈すべきでしょうか?ありがとう

+0

従業員に作成される並行スレッドが少ないことをどのように知っていますか?結論はスループットの低下に基づいているか、タスクマネージャで確認しましたか? – janovesk

+0

私たちは独自の監視システムを持っています。すべてのハンドラは、メッセージの到着に関する情報を監視システムのストレージに保存し、それをチャートに表示します。このようにして、1人の作業者ごとに1分間に受信されるメッセージの数を確認できます。毎分4-5回以上のメッセージを処理する前に – YMC

+0

ワーカーの各メッセージの平均/最大/最小処理時間に関する傾向を確認する機能もありますか?その平均が上がった場合、ハンドラ内のビジネスロジックが以前より遅くなることを示します。以前と同じ場合は、ディストリビューターが遅い速度でメッセージを送信していることを指摘できます。 – janovesk

答えて

2

storage queueの数字は、販売店がメッセージを引き渡す限り、上下にジャンプします。 control queueに入ったメッセージはすぐにそのキューからstorage queueにポップされます。ディストリビューターのprimary queueに入ってくるメッセージはすぐにstorage queueの最初のメッセージがポップオフされます。 実行中のディストリビュータのキュー内のメッセージ数を解釈するのは難しいです。コンピュータ管理またはキューエクスプローラで数字を見るときには、変更されているためです。分配器の一次入力キューと労働者のいずれかで起きない作業で

1いいえメッセージ:

極端な場合は、このされています。

  • 入力キュー:0
  • 制御キュー:0
  • ストレージキュー:労働者の数は、すべての労働者がフル稼働で働いている

2.労働者ごとに設定されたスレッドを*。誰もより多くの仕事をすることはできません。

  • 入力キュー:0+(新しいメッセージが入るように成長)
  • 制御キュー:0
  • ストレージキュー:実行しているシステムでは0

、それが間に何もすることができますこれらの2つの極端な点は残念ですが、controlstorage queueのスナップショットからは言い表せません。

いくつかのトラブルシューティングのヒント:

  • storage queueが空の場合は、販売代理店は、より多くの仕事を配ることができません。それはどこにそれを送るか分からない。これは、メッセージの処理が完了するまで、control queueに準備完了メッセージを戻さないため、すべてのワーカーが完全に占有されている場合に発生します。

  • storage queueが、すべてのワーカーのワーカースレッドの総数と比較して常に小さい場合は、ワーカーの最大合計容量に近づいています。

  • 私は、作業員のログを見て、作業中の作業が通常よりも長くかかるかどうかを確認することをお勧めします。遅いデータベースとサードパーティの統合?

  • ディストリビュータをホストしているマシンにIO-heavyが追加されているかどうかを確認することもあります。ディストリビューターが既に最大容量に近い状態で稼働していた場合は、余分なIOを追加するとボックスのMSMQが遅くなり、スループットが低下します。

+0

ありがとうございます。それはすべて私の状況にそれを適用する方法はまだありませんが、すべてが有益な情報であり、知っておきましょう。私のケースでは、制御キューとストレージキューのメッセージ量はさまざまですが、しばらくそれを見ると、最初のものは通常32秒と8秒のように4倍大きくなります。この情報に基づいて結論を下すのは難しいと言っているのでしょうか? – YMC

関連する問題