問題タブ [websphere]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - WebSphere 6.1 での CPU 使用率のスパイク
まず、背景を少し説明します。
お客様の 1 人が、当社の Web アプリの 1 つを実行している WebSphere インスタンスで CPU 使用率のスパイクを経験しています (他のアプリを使用する他のインスタンスは問題ありません)。彼らには、テスト環境とライブ環境 (両方とも iSeries) があり、どちらも問題が発生します - インスタンスごとに 1 つのアプリをセットアップします。私たちはこのアプリケーションを私たち自身のテスト環境でローカルに展開しました。また、iSeries 上の他の多くの顧客にも同じような問題は発生しませんでした。
実際に起こっていること:
その時点で処理されている要求がない場合でも、約 17%
秒ごとに、WebSphere プロセスの CPU 使用率の CPU 使用率がどこかにジャンプします。20%
顧客は、最大のスパイクが見られると報告してい30%
ます。これらのスパイクの平均は、アイドル時1.5%
の CPU 全体 (他の WebSphere インスタンスが通常使用するもの0%
)に相当します。0.1%
これまでの私の調査
ということで、スレッドを拝見しました。テスト環境の 1 つのスレッドが、~350
1 秒あたりの CPU サイクルを使用していました。ライブ環境の同様のスレッドは、~1500
1 秒あたりの CPU サイクルを使用していました (より大きな CPU を使用していることを示しています)。これらのスレッドのコール スタックは次のようになります。
一番下の行からのクラス名全体はcom/ibm/ws/util/BoundedBuffer
. 私は顧客に JVM ダンプを依頼しました。ここから得た唯一の追加情報は、スレッド名でした。
今私の質問のために:
- これらの症状を考えると、誰でも問題を特定できますか? (多分それはロングショットです!)
- とは
Deferrable Alarm
? JVM ダンプから、この名前の 4 つのスレッドを確認できます。他の3人は元気そうです。ローカルの WebSphere (Windows 上) をデバッグし、BoundedBuffer
クラスにブレークポイントを追加すると、BoudedBuffer
s がポーリングし、定期的にリスナーを呼び出していることがわかります。 - 私は顧客のマシンの WebSphere コンソールにアクセスすることができません。また、顧客は構成を変更したことを認めていません。コンソールを確認するように依頼することはできますが、何を確認するように依頼すればよいでしょうか?
- カスタマー ボックスに telnet でアクセスできます。他に調査できることはありますか? WebSphere プロファイル ファイルなどを見ていますか? どのファイルを確認する必要がありますか?
- Call Stack と JVM Dump はコードを明示的に参照していないため、これは構成上の問題であると想定しても問題ないでしょうか?
長い質問だったので、ここまで読んでくれてありがとう。
4月30日更新 (1)
今朝、この動作は、その日の最初のリクエストが処理された後にのみ発生することに気付きました (どの Web サービスが呼び出されたかに関係なく)。これは、アプリケーションまたは Apache Axis を指し示しています。これは単なる正常な動作なのでしょうか?!
4月30日更新 (2)
したがって、この CPU アクティビティは、Web コンテナまたは Apache Axis 内の何らかのハウスキーピング アクティビティのようです。私は今、これがいくつかの異なるサーバー上のいくつかの異なる Web アプリケーションで発生していることを確認しました。Web コンポーネントを持たないアプリケーションは、同じように追加の CPU オーバーヘッドに悩まされることはありません。
それがハウスキーピング作業である場合、それを「調整」すると逆効果になる可能性があると思います-つまり、App Serverのアイドル状態を改善すると、実行できる「実際の」作業の量におそらく悪影響を与えることになります.
java - JavaEE 5、WAS 6.0 JSP に関する奇妙な問題に含まれるもの
現在、アプリケーションを本番環境から新しいデータセンターに移行中です。
- 現在の本番環境: Java 1.4、Java EE 3、WAS 5.1、JSF 2.1
- 新しいデータセンター環境: Java 1.5、Java EE 5、WAS 6.1、JSF 2.1
ケース 1: 標準仕様による EAR 構造
。EAR -> WAR -> WEB-INF -> lib -> *.jar (すべてのアプリケーション固有の jar は WEB-INF/lib の下にあります)。これは機能せず、クラスローダーによって見つからないクラスの例外を取得し続けます。また、上記の AJAX 呼び出しは失敗します (出力は生成されません)。
ケース 2: EAR には、ルート上のすべてのアプリケーション JAR ファイルが含まれます (MANIFEST.MF には手動で指定されたクラスパスがあります)。
このアプローチは完全に機能し、すべての JAR ファイルが問題なくロードされます。さらに、AJAX 呼び出しも問題なく実行されます。
なぜこれが起こっているのか考えてみてください。
- アシッシュ
java - WebSphereのクラスローダーポリシーをibm-web-bnd.xmiファイルで設定できますか?
WAS 6で実行されるJEEアプリケーションがあります。クラスローダーの順序を「アプリケーションクラスローダーで最初にロードされるクラス」に設定し、WARクラスローダーポリシーオプションを「アプリケーションのシングルクラスローダー」に設定する必要があります。
ibm-web-bnd.xmiファイルまたはその他のファイルのいずれかでEARファイル内でこれらのオプションを指定できるので、管理者はこれらの設定を手動で変更する必要はありませんか?
アプリは自動化されたスクリプトを介してデプロイされ、デプロイを担当する人はオフサイトにいるため、またその他の政治的な理由から、これは非常に役立ちます。
java - MQJE018: プロトコル エラー - 予期しないセグメント タイプを受け取りました
すべての MQ 達人に呼びかけます。
デスクの下に、次のような本番環境を複製するために使用するボックスがあります。
WebSphere 6.1 フェドラ Linux MQ 6.0
アプリケーションの 1 つが MQ キューにメッセージを送信しようとするたびに、次のエラーが発生します。 MQJE018: プロトコル エラー - 予期しないセグメント タイプを受信しました
これが何を意味するかについての提案をいただければ幸いです。スタック トレースを以下に示します。
EDIT:私はIBMのドキュメントで理由コードを調べましたが、ほとんど役に立ちません
polymorphism - WCF -> Websphere Integration Developer とポリモーフィズム
ポリモーフィズムを使用するオブジェクトを公開する .NET WCF サービスがあります。
どうやら、Websphere Integration Developer はこれを適切に処理することができません (私は Websphere 開発者ではありません)。ただし、考えられるすべてのポリモーフィズムのすべてのフィールドを追加し、enum などを使用して、そのようなタイプのオブジェクトであることを示します。
IBM がポリモーフィズムをサポートしない製品を作成したとは信じられません。そう..誰かがこれを処理する方法を説明したり、私が渡すことができるリソースを指摘したりできますか?
websphere - IBM RAD 7 および Websphere 6.1 が遅く、応答しない
Websphere と RAD を使用してローカルで開発する場合、どのようにパフォーマンスを改善できますか? 中程度のサイズ (1000? クラス) の Web アプリケーションを 1 つ使用していますが、Windows ボックスでローカルにアプリケーションを処理することはできません。Websphere 6.1 構成では、デフォルトの構成が使用されます。RAD7 は、1024mb の最大ヒープを処理するように構成されています。サーバーのヒープを増やすことを考えました。現在、最小値と最大値は 128/300mb です。
応答しないという点では、ページがまったく読み込まれない場合でも、ページの読み込みに数分かかることがあります。また、「自動的にビルド」と「自動的に公開」を無効にしました。たぶん、それらをオンにする必要がありますか?
websphere - Websphere 構成テンプレート
websphere アプリケーション サーバー 6.1 の既存の構成をエクスポートして、それを WAS の他のインスタンスにインポートできるかどうかは誰にもわかりませんか?
java - StackTrace の行番号はメソッドの開始点を示します
WebSphere Application Server 6.1 用の Rational Application Developer 7.5 (Eclipse 3.4 ベース) を使用して Web アプリケーションを開発しています。ステージング サーバーでスタック トレースを調べる場合、行番号は常にメソッドの先頭を指し、実際の行を指すことはありません。ローカル開発環境 (各開発者がローカルで Websphere 6.1 を実行している) では、すべてが完璧に見えます。
Java > Compiler > セクション Classfile Generation の下の Eclipse 設定で、すべてがチェックされます。
earExport
展開は、RAD のAnt ターゲット (ear
コア タスクではない)を使用して EAR ファイルを構築することによって行われます。その後、不要なファイルを削除するために再パッケージ化されます。明示的なコンパイルは開始されません。ワークスペースのクラスが使用されます。
これらの情報が失われるのはどうしてですか?これはホットスポットの最適化の一部ですか? もしそうなら、無効にすることはできますか?
また、正しい行番号を取得するにはどうすればよいですか?
java - アプリケーションセキュリティを使用してEJBルックアップをどのように実行しますか?
スタンドアロンのJavaアプリケーションからEJBを検索しようとしています。WebSphere Application Server 6.1の観点から考えていますが、誰かが別のアプリケーションサーバーに対してこれを行う方法を知っていれば、正しい方向に進む可能性があります。
私が現在していること:
これは機能していません...私の件名はまだ「/UNAUTHENTICATED」であり、EJBを検索しようとするとエラーが発生します。また、アプリケーションの実行時にVMに次のパラメーターを指定しています。
-Dcom.ibm.CORBA.ConfigURL = "C:\ was \ profiles \ AppSrv01 \properties \ sas.client.props" -Djava.security.auth.login.config = "C:\ was \ profiles \ AppSrv01 \ properties \ wsjaas_client.conf "