1

私はこれをそこに捨てて、他の人々の経験がどのようなものであったかを見ようと思った.

作業中のシステムで、キュー内のジョブの処理が停止し、いわば「ジャム」が発生するという問題が発生しています。サービスが再起動されると、ソフトウェアはキューを処理し、すべてが正常に戻ります。

これまでの私の経験では、これらの停止の原因を突き止めることはできません。それと、停止を自分で再現することはできません。キューはさまざまな間隔で失敗し、1 か月連続で実行されることもあれば、1 日に 2 回近く失敗することもあります。それ以来、私は 2 つの異なるベンダーと部門内のさまざまな同僚に関与してきましたが、誰もが困惑しており、数か月間続いています。

私が始めて以来、処理を単一のサーバーに分離し、ベンダーに送信したログを強化しました。どちらも何が問題なのかわかりません。

あちこちでいくつかの設定を更新し、クライアントとサーバーの部分をアップグレードしましたが、私たちが行っていることが全体的なソリューションに貢献しているかどうかはわかりません.

したがって、再現不可能で、ランダムで、テストできないように見える問題があります。

誰かが同様の状況に関与したことがありますか? このような状況を解決するには、どのような方法がありますか?

共有された情報や経験は素晴らしいでしょう。

乾杯、

編集: : ロギングを強化し、すべてのコンポーネントを最新バージョンに更新し、適切なウイルス対策の除外が行われたことを確認しました。これまでのところ、1 か月以上詰まっていません!

4

2 に答える 2

2

本番環境でオンにできるロギングフレームワークを使用します。最初はロギングが多すぎる必要があるかもしれませんが、問題を絞り込むのに役立つはずです。近づくにつれて、ロギングの範囲を狭めると同時に、残りのログステートメントの冗長性(つまり単語)を増やすことができます。

于 2010-12-16T16:00:12.217 に答える
0

ケリーが指摘したロギングに加えて、物事が停止しているように見えるため、デッドロックが発生する可能性があります。これが Java アプリケーションの場合の 1 つのオプションは、jconsoleを使用して JVM インスタンスに接続することです。jconsole には、ハングアップが発生したときに非常に貴重な情報を提供できるデッドロック検出オプションがあります。

これが Java アプリケーションではなく、おそらく .NET アプリケーションである場合は、この手法を利用できます。

于 2010-12-16T16:08:07.663 に答える