まず、背景の少しだけ:CPU使用率スパイク
お客様の一つは、(他のアプリとの他のインスタンスが細かいです)私たちのWebアプリケーションのいずれかを実行しているのWebSphereインスタンスのCPU使用率の急上昇を経験しています。彼らは両方の問題を経験するテスト環境とライブ環境(両方ともiSeries)を持っています。インスタンスごとに1つのアプリケーションを設定します。私たちは、このアプリケーションを独自のテスト環境にローカルに導入しました。同様の問題はなく、iSeries上の他の多くのお客様にも導入しました。実際に何が起こっている
: - 一度に処理されている何の要求がなくても20%
を1秒ごとかそこら、WebSphereプロセスのCPU使用率は、CPU使用率が7%
からどこかにジャンプします。お客様は、スパイクが30%
と高いと報告しています。これらのスパイクは、CPU全体で平均で1.5%
になります。他のWebSphereインスタンスでは、通常、アイドル時に0%
-0.1%
が使用されます。
私の調査は、これまで
だから、私はスレッドを見ていました。テスト環境内の1つのスレッドは、毎秒~350
のCPUサイクルを使用していました。ライブ環境の同様のスレッドでは、CPUサイクルが1秒あたり~1500
(CPUが大きいことを示しています)を使用していました。これらのスレッドの呼び出しスタックは、一番下の行から全体のクラス名がcom/ibm/ws/util/BoundedBuffer
ある
Type Program Statement Procedure
QLESPI QSYS 17 LE_Create_Thread2__FP12crtt >
QJVALIBJVM QSYS 7 startThread__FPv
J com/ibm/ws/util/Threa > run
J com/ibm/ws/util/Threa > run
J com/ibm/ws/util/Threa > getTask
J com/ibm/ws/util/Bound > poll
のように見えます。私は私のためにJVMのダンプを行うには、顧客に尋ねた - 私はこれから得た唯一の追加情報は、スレッドの名前だった:私の質問のために今
Thread: 00002F82 Deferrable Alarm : 11
:あなたのいずれかが
- を識別することができますこれらの症状を考えると、問題はありますか? (たぶんそれはロングショットです)
Deferrable Alarm
とは何ですか? JVM Dumpから、私はこの名前のスレッドを4つ見ることができます。他の3人はうまくやっているようです。私のローカルWebSphere(Windows上)をデバッグし、BoundedBuffer
クラスにブレークポイントを追加することで、BoudedBuffer
がポーリングしており、定期的にリスナーを呼び出すことがわかりました。- カスタマー・マシン用のWebSphereコンソールへのアクセス権がなく、構成変更まで所有していません。私は彼らに私のためにコンソールをチェックするように依頼することができます - 私は彼らに見て尋ねる必要がありますか?
- 私は顧客の箱にtelnetでアクセスできますが、ここで調べることができるものはありますか? WebSphereのプロファイルファイルなどを見る?どのファイルを調べるべきですか?
- コールスタックとJVMダンプはコードを明示的に参照していないため、これが設定上の問題であると想定するのは安全ですか?
これは長い質問でしたので、これまで読んでいただきありがとうございます。
4月30日のアップデート(1)
今朝、私は、この動作がのみ(Webサービスが呼び出されるとは無関係に)処理されたその日の最初の要求の後に起こることに気付きました。これは、アプリケーションまたはApache Axisで指が戻ることを示します。これはちょうど正常な動作だろうか?
4月30日更新(2)
だから、このCPUの活動は、WebコンテナまたはApache Axisの内、多分何かのためのハウスキーピング活動のいくつかの種類であると思われます。私は今、いくつかの異なるサーバー上のいくつかの異なるWebアプリケーションでこの現象を観察しました。 Webコンポーネントを持たないアプリケーションでも、同じCPUオーバーヘッドが発生しません。
ハウスキーピングの仕事であれば、それをどうにかして生産性を上げることができます。つまり、App Serverのアイドル状態を良くすると、実際の仕事の量に悪影響が及ぶでしょう行う。
このクライアントは他のクライアントと同じレベルのiSeriesですか?これをユニークにする他の違いはありますか? – Ichorus
はい、同じレベルです。また、6.1と同様にWebSphere 5.1でも発生します。 –