2009-07-06 18 views
0

WAS FixPack15からFixPack 21に移行した後、アプリケーションの起動時間が長くなっているのが見えます。アプリケーションの起動時には、ログの間隔文:WebSphere Application Server 6.1 FixPack 21のアプリケーションの起動時間が長くなる

WSVR0200I:アプリケーション

WSVR0221Iの開始:アプリケーションは、この間隔は、FP 15に10秒未満だったが、それは21何がCHを持っていないFPで2分です

を開始しました新しいフィックスパックを除いて、古いバージョンです。 しかし、私がWASインスタンスをバウンスしてアプリケーションを起動した場合、起動時間は短く(10秒)でした。しかし、私のWASインスタンスを跳ね返さない場合、FP 21でのアプリケーションの起動に2分かかってしまい、FP 15で10秒かかることがありました。

どのようにしてこの問題のトラブルシューティングを行います。

私のOSは、Red Hat Enterprise Linux Serverは、私がどうなる

+0

ご意見ありがとうございます。私はそれらのほとんどを試しましたが、遅さを特定のコンポーネント/アクティビティに結びつけられませんでした。しかし、私はjdksを切り替え、遅れがなくなった。私のFp21では、IBM JDK SR8aをSR6b(私のFP15が使用していた)にロールバックしました。 – user39732

答えて

1

ことの一つは、より高速版と低速のバージョンに対してログを比較することによって、時間を5.1(Tikanga)を放出します。これにより、全体のパフォーマンスではなく、個々のコンポーネントのパフォーマンスを低下させることができます。

私はこれまでに21を使用していましたが、それは遅いことに気がつかなかったが、AIXとWindowsで使用していたので、オペレーティングシステムの問題である可能性があります。

パフォーマンスの低い機能を絞り込むと、ここに投稿してからもう少し見ていきます。

ありがとう、

マイケル。

+0

私は個々のコンポーネントが遅く実行されていることに気付かなかった。私はFP21とFP15の同じログステートメントを見ていますが、FP21の連続するステートメント間の時間間隔はFP15のものよりも長くなっています – user39732

+0

ログに次のような行がありますか: [07/07/09 08:53:51:056 BST] 0000000a J2EEServiceMa I ASYN0059I:Work Managerサービスが正常に初期化されました。 この行の2つのスタートアップ(正確には約20ダウンする必要があります)間の正確なタイミング、つまりログトレースの開始からその行までのタイミングを確認することは興味深いでしょう。また、アプリケーションの起動時に何らかの種類のローカルキャッシュを作成するなど、多くの初期化を行いますか? –

1

私はFP13からFP21に行きましたが、私のアプリケーションでは減速が見られませんでしたが、それはWindows上でした。

変更したのはあなただけですか?

アプリでWebSphere API /コードを使用していますか?

すべてのフィックスパックを適用しましたか?ダウンロードページは実際のアイ・チャートですが、WebSphere および Java SDKを更新する必要があります。 IHSを使用している場合は、IHS、プラグイン、SDKも更新する必要があります。

最後に、アプリを再起動するときの速度は遅いと言いますが、サーバー全体を再起動するときは遅くなりません。あなたのアプリにJVMヒープの問題があるのだろうかと思います。どのくらいのヒープを実行していますか? GCを再起動する際に問題が発生していますか?

+0

私はJDKを含むすべてのフィックスパックをインストールしました。それが変更された唯一のものです。私のメモリ関連のjvm引数は次のとおりです:-verbose:gc -Xms512m -Xmx768m私は3つのアプリケーションをWASサーバー上で実行しています。 GC活動に関しては、それはFP21とFP15の間で同一である(両者には小さなメモリ増加がある)。しかし、FP15アプリの起動時間に問題はありません。これはまったく同じアプリケーションと設定です。 – user39732

+0

FP21上のアプリケーションを起動するCPU使用率はどれくらいですか?そうでなければ、私の最初の疑惑はネットワークになるだろう。遅れを引き起こす可能性のあるDNSやその他の外部ネットワークアクセスがありますか? それまでは、スレッドダンプを取ったり、プロファイリングを開始する必要があります。 – AngerClown

1

いくつかのアイデア:

  1. 数javacoreとしてください2分間の一時停止中に、30秒間隔で、(-3 PIDを殺す)とスレッドのようなものを使用し、複数のスレッドを比較するために、ダンプ・アナライザの監視はしダンプスレッドがどこかに「スタック」しているかどうかを確認して、外部呼び出しまたはループを作成します。LinuxハングMustGatherを参照してください:http://www-01.ibm.com/support/docview.wss?uid=swg21115785
  2. その2分の間隔(ガベージコレクションやメモリビジュアライザーなど)でverbosegcをチェックして、その時点でGCの一時停止があるかどうかを確認します(2分間の休止は他の問題があることを意味します)。
  3. テスト環境で問題を再現してください。そこでは、より重いデバッグを行うことができます(#4など)。
  4. アプリケーションを起動する前に、* =すべてを動的にオンにします。明らかにこれは大きなパフォーマンスヒットになりますが、これがタイミング上の問題でない限り、タイムスタンプや余分なアクティビティの「ギャップ」を何らかの形で見ることができます。トレース・アナライザーをWebSphere Application Server用に使用して、trace.logファイルを管理します。
関連する問題