2011-03-31 2 views
1

私たちは、IBM WebSphere MQ for SWIFTメッセージを使用します。 SWIFTメッセージが受信されると、それは処理され、処理が進行するにつれてローカルキューに入れられます。次のようにその:MQメッセージは日数が遅れます

外の世界> Q1>アプリケーション> Q2>アプリケーション> Q3を>アプリケーション

キューはローカルキューがあります。しかし、メッセージがQ1/Q2/Q3 ...のような日にアプリケーションに到達するとかなりの遅延がありました。そして、これは任意に起こります。なぜこのようなことが起こっているのかという手がかりはありません。ほとんどのメッセージはすばやく表示されますが、3-4日後には2〜3日後に到着します。

このすべては、トランザクションに起こり、私たちは私たちのトランザクションマネージャとしてAtomikosを使用しています。

は、誰もが前に同様の問題に直面していますか?どんな助けもありがとうございます。

おかげで、 Midhun。

答えて

1

は、WebSphere MQメッセージが遅延し、小さな探偵の仕事を取ることがあり、診断することができるいくつかの方法があります。より一般的な原因のいくつかを以下に示します。

  1. メッセージが同期点の下にスタックしています。メッセージがシンクポイントの下に数日間座っているのは珍しいことですが、私はそれが起こるのを見ました。問題は、一部のアプリケーションでは、1つのトランザクションで複数のメッセージをバッチアップするように設計されており、メッセージがバッチ倍数で到着しない場合は、残りのメッセージが残り、別のメッセージが到着してバッチを閉じるのを待ちます。
  2. メッセージが同期点の下にスタックしました。別の場合には、プログラムロジックは、次のメッセージが読み取られるまで、同期点をコミットしない。いくつかのスレッドがメッセージを処理しているとき、負荷分散はすべてのスレッドで必ずしも一様ではなく、負荷が軽い場合はメッセージのために不足する可能性があります。
  3. ブラウズで孤立したメッセージ。このシナリオでは、メッセージは現在のブラウズカーソルよりも高い優先順位で到着します。再スキャン間隔を非常に長く設定し、トラフィック量も高く設定すると、ブラウズカーソルがキューの先頭にリセットされるまでに時間がかかることがあります。
  4. プログラムエラー。あなたは使用しているWMQクライアントとサーバのバージョンについては言及していませんでしたが(うまくいけば、7.0でも!)、ときどきスレッドがハングする問題があります。これらは、同期ポイントの下でメッセージを結びつけることができます。 latest FixPack for your versionにアクセスし、「問題が修正されました...」というリンクを調べて、APARが特定の問題を解決しているかどうかを確認することは、常に良い考えです。その場合は、最新のフィックスパックを適用してください。

この診断を開始するには、DIS QSTATUSコマンドを使用して、キューに入出力されるハンドルの数、メッセージの経過時間、および未処理の作業単位を表示します。 SupportPac MA0Wのexitを使用して、特定のキューですべてのAPI呼び出しの人間が読めるトレースを取得することもできます。これは非常に貴重な診断ツールとなります。なぜなら、メッセージが同期点の下にどれくらいの期間存在しているか、継続的にバックアウトされているかどうか、APIの呼び出しに使用されているオプションなどを知ることができるからです。特定のキューまたは特定のスレッドに割り当てます。これは、そのスレッドをしばらく実行する必要がある場合に役立ちます。

関連する問題