weblogic server 技術紹介「第5回weblogic server勉強会@東京」資料

30
5Weblogic Server勉強会@東京 資料 20091127住商情報システム株式会社 5Weblogic Server勉強会@東京 資料 20091127住商情報システム株式会社

Upload: oracle-techonology-networkotn-japan-

Post on 28-May-2015

11.229 views

Category:

Technology


1 download

DESCRIPTION

第5回WebLogic Server勉強会@東京の資料です。当資料は講演者 住商情報システム株式会社 刀根誠治 氏の資料です。

TRANSCRIPT

Page 1: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

第5回Weblogic

Server勉強会@東京

資料

2009年11月27日

住商情報システム株式会社

第5回Weblogic

Server勉強会@東京

資料

2009年11月27日

住商情報システム株式会社

Page 2: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

トラブルに備えるトラブルに備える

Page 3: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

トラブルに備えるトラブルに備える

万一の状態に備えて、予め取得しておくべき情報を整理しておくことは、短時間で問題解決させる上で重要です。

常に取得すべき情報

configディレクトリ一式(config.xml)、WebLogic サーバログ、

標準出力ログ

サーバハング(ハングアップ)した時

スレッドダンプ

プロセスダウン(プロセスのクラッシュ)した時

Windows:ワトソンログ、イベントビューア

Unix/Linux:バックトレース、Core ファイル(JRockit の場合)

※Core ファイルを取得いただく際は ulimit -c に十分大きな値 もしくは

  unlimited が設定されているかをご確認ください。

  (設定例.ulimit -c unlimited)

Page 4: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

サーバハングとプロセスダウンについてサーバハングとプロセスダウンについて

お問い合わせで“ダウン”という言葉をいただく際、プロセスがクラッシ

ュ(プロセスダウン)したのか、ハングアップ(サーバハング)なのか、それらが明確になっていない形で報告をいただくことが多いです。

ハングアップかクラッシュかで、対応が異なってくることから、予め切り分けを行っていただくと、その確認時間を省略することができます。

プロセスの確認方法(プロセスが無ければクラッシュ)

Windowsタスクマネージャ

UNIX/Linuxps -ef | grep java

“weblogic.Server” というキーワードが含まれているプロセスがあるか確認します。

Page 5: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

過去にあった不安定要素(一部)過去にあった不安定要素(一部)

JDK1.2の頃

javacでメモリリーク?

ヒープサイズで 1GB 確保すると不安定、とか...

WLS8.1 の初期くらいまで

Type2 JDBC Driver で高負荷時にプロセスダウン

パフォーマンスパック(NativeI/O)の安定性

→ 近では、このような報告は聞かなくなりました。

Page 6: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

標準出力ログの

設定方法

標準出力ログの

設定方法

Page 7: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

デフォルトで提供されているスクリプトを活用デフォルトで提供されているスクリプトを活用

WLS9.x 以降、bin¥startWebLogic.cmd (.sh) には、WLS_REDIRECT_LOG という環境変数が用意されて

いるので、

  if "%WLS_REDIRECT_LOG%" 行の前にWLS_REDIRECT_LOG の設定を追加します。

記述例:

 :%JAVA_HOME%¥bin¥java %JAVA_VM% -version

set WLS_REDIRECT_LOG=wls_stdout.log

if "%WLS_REDIRECT_LOG%"=="" ( :

 :%JAVA_HOME%¥bin¥java %JAVA_VM% -version

set WLS_REDIRECT_LOG=wls_stdout.log

if "%WLS_REDIRECT_LOG%"=="" ( :

Page 8: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

直接設定する直接設定する

startWebLogic.cmd (.sh) に、WLS_REDIRECT_LOG という環境変数が定義されていない場合は、以下のように直書きします。記述例: (1行で記述します。)

 :%JAVA_HOME%¥bin¥java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%¥server¥lib¥weblogic.policy" weblogic.Server >> wls_stdout.log 2>&1 :

 :%JAVA_HOME%¥bin¥java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%¥server¥lib¥weblogic.policy" weblogic.Server >> wls_stdout.log 2>&1 :

※">>" とした場合は、対象ファイルに対して追記で、  ">" とした場合は、上書きになります。

Page 9: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

Windows サービスに登録されている場合Windows サービスに登録されている場合

-log: オプションで標準出力ログの設定を行います。Windows サービスに登録するスクリプトに、-log: オプションを追加し、サービスの再登録を行います。

 :“%WL_HOME%¥server¥bin¥beasvc” -install -svcname:“beasvc%DOMAIN_NAME%_%SERVER_NAME%”-javahome:“%JAVA_HOME%” -execdir:“%USERDOMAIN_HOME%”-extrapath:“%EXTRAPATH%” -password:“%WLS_PW%”-cmdline:%CMDLINE% -log:"C:¥bea¥user_projects¥mydomain¥wls_stdout.log" :

 :“%WL_HOME%¥server¥bin¥beasvc” -install -svcname:“beasvc%DOMAIN_NAME%_%SERVER_NAME%”-javahome:“%JAVA_HOME%” -execdir:“%USERDOMAIN_HOME%”-extrapath:“%EXTRAPATH%” -password:“%WLS_PW%”-cmdline:%CMDLINE% -log:"C:¥bea¥user_projects¥mydomain¥wls_stdout.log" :

installService.cmd 記述例: (1行で記述します。)

※古い環境の beasvc.exe では、-log をサポートしておりませんので、  新の beasvc.exe に入替えてください。

Page 10: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

スレッドダンプの取得

テクニック

スレッドダンプの取得

テクニック

Page 11: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

基本的な方法(1/2)基本的な方法(1/2)

Windows 上でコマンドプロンプトで起動している場合:Ctrl+Break

Linux/Unix の場合:ps -ef | grep java

“weblogic.Server” というキーワードが含まれているプロセス ID(PID) を特定します。

kill -3 PID

weblogic.Admin コマンドを使う場合:java weblogic.Admin -url t3://localhost:7001 -username XXXX -password XXXX THREAD_DUMP

-url:管理コンソールへの接続URL-username:管理コンソールへの接続ユーザ

-password:上記接続ユーザのパスワード

Page 12: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

基本的な方法(2/2)基本的な方法(2/2)

WLST(WebLogic Scripting Tool) の場合:

以下のようなコマンドで、取得可能です。

>cd <DOMAIN_ROOT>¥bin>setDomainEnv.cmd

>java weblogic.WLST >connect()>threadDump()>exit()

>cd <DOMAIN_ROOT>¥bin>setDomainEnv.cmd

>java weblogic.WLST >connect()>threadDump()>exit()

⇒threadDump()を実行すると、<DOMAIN_ROOT>に、Thread_Dump_[ServerName].txt が作成されます。

Page 13: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

管理コンソールから(1/2)管理コンソールから(1/2)

サーバ : モニタ : スレッド

Page 14: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

管理コンソールから(2/2)管理コンソールから(2/2)

サーバ : モニタ : スレッド (続き)

スタックトレースは表示されませんが

処理内容は伺えます。

Page 15: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

JRockit Management Console(JRMC)JRockit Management Console(JRMC)

スレッドを選択するとスタックトレースが表示されます。

[JROCKIT_HOME]¥bin¥jrmc.exe ※JRockit R27 以前は console.exe

Page 16: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

jrcmd を使ってjrcmd を使って

print_threads

>jrcmd848 jrockit.tools.jrcmd.JrCmd

3896 weblogic.Server

>jrcmd 3896 print_threads3896:

===== FULL THREAD DUMP ===============Tue Aug 18 16:21:04 2009BEA JRockit(R) R27.6.0-50_o-100423-1.6.0_05-20080626-2105-windows-ia32

"Main Thread" id=1 idx=0x4 tid=900 prio=5 alive, in native, waiting-- Waiting for notification on: weblogic/t3/srvr/T3Srvr@0x09F54728[fat lock]at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)at java/lang/Object.wait(J)V(Native Method)

 :

>jrcmd848 jrockit.tools.jrcmd.JrCmd

3896 weblogic.Server

>jrcmd 3896 print_threads3896:

===== FULL THREAD DUMP ===============Tue Aug 18 16:21:04 2009BEA JRockit(R) R27.6.0-50_o-100423-1.6.0_05-20080626-2105-windows-ia32

"Main Thread" id=1 idx=0x4 tid=900 prio=5 alive, in native, waiting-- Waiting for notification on: weblogic/t3/srvr/T3Srvr@0x09F54728[fat lock]at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)at java/lang/Object.wait(J)V(Native Method)

 :

実行例: 引数なしで実行するとJRockitで起動

しているプロセス一覧が表示されます。

コマンドのフォーマット:jrcmd [PID] print_threads

[JROCKIT_HOME]¥bin¥jrcmd.exe ※JRockit R25 からサポート

Page 17: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

beasvc -dumpbeasvc -dump

Windows サービスに登録されているコマンド プロンプト

から、次のコマンドを入力します。

 [WL_HOME]¥bin¥beasvc -dump -svcname:[SERVICE_NAME]

※WL_HOME は、WebLogic Server のインストール ディレクトリ。  SERVICE_NAME は、サーバ インスタンスを実行している Windows

    サービス名です。

>beasvc -dump -svcname:"beasvc base_domain_AdminServer ">beasvc -dump -svcname:"beasvc base_domain_AdminServer "実行例:

※出力先は、標準出力ですので、予め –log: オプション

 を設定しておく必要があります。

Page 18: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

その他ツールその他ツール

SendSignal http://www.latenighthacking.com/projects/2003/sendSignal/

exeファイル

コマンドプロンプトより、

 >SendSignal.exe プロセスID で取得可能

出力先はJVM側の標準出力

StackTrace http://www.adaptj.com/root/main/stacktrace

JVMで動作するGUIツール

メニューから簡単に取得できる(こちらもPIDごとに取得可能)

スレッドダンプはツール自身に出力される

Page 19: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

JRockit TipsJRockit Tips

Page 20: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

JDK のバージョンと R の関係JDK のバージョンと R の関係

R は、JRockit 内部エンジンのバージョンJava のバージョンに依存せず実装されています。

R23 ・・・ JRockit 7.0, 8.1R24 ・・・ JRockit 1.4.2R25 ・・・ JRockit 5.0R26 ・・・ JRockit 1.4.2, 5.0R27 ・・・ JRockit 1.4.2, 5.0, 6.0

新は、R27.6.3(Oracle JRockit Mission Control 3.1.0 )以下のバージョンの Java JDK をサポート

* Java 6 SE Update 11* J2SE 5.0 Update 17* J2SE 1.4.2_19

Page 21: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

使用上の注意使用上の注意

Windows サービスで実行している JRockit プロセスはJRMC, jrcmd 等で監視・制御出来ない

R24 系だと、オプションは小文字でないと受付てくれない

-XnoOpt → -Xnoopt-XverboseTimeStamp → -Xverbosetimestamp

※オンラインドキュメントは、 新のリリース(R26, 27)  に向けて提供していることに注意

Page 22: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

jrcmd Tipsjrcmd Tips

稼動中に GCログの出力を有効にする

>jrcmd [PID] verbosity change=gc=info

JRockit のメモリ使用状況を表示する

>jrcmd [PID] print_memusage

java ヒープ上のオブジェクト情報を出力

>jrcmd [PID] print_object_summary

※これら機能は、予告なしに出力情報が変更されたり使用出来なくなることを

前提にご使用ください。

Page 23: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

その他テクニックその他テクニック

Page 24: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

BEA-XXXXXX のメッセージ詳細を日本語で確認するBEA-XXXXXX のメッセージ詳細を日本語で確認する

weblogic.GetMessage

>weblogic.GetMessage -id 000337 -detail

000337: 要求 “{2}” の処理中に {0} は “{1}” 秒間ビジー状態になっています。これは、コンフィグレーションされた時間 (StuckThreadMaxTime) "{3}" 秒を超えています。スタック トレース :{4}サブシステム: WebLogicServer重大度: Errorメッセージの詳細: スレッドが、コンフィグレーションされたタイムアウト時間より長くビジー状

態であることが判明しました。原因: サーバが非常にビジーな状態であるか、またはスレッドがハングしています。アクション: ハングしたスレッドが実行されているメソッドをモニタしてください。コンソールで要求実行機能をモニタするか、またはスレッドダンプ (weblogic.Admin THREAD_DUMP) を取

得してください。

>weblogic.GetMessage -id 000337 -detail

000337: 要求 “{2}” の処理中に {0} は “{1}” 秒間ビジー状態になっています。これは、コンフィグレーションされた時間 (StuckThreadMaxTime) "{3}" 秒を超えています。スタック トレース :{4}サブシステム: WebLogicServer重大度: Errorメッセージの詳細: スレッドが、コンフィグレーションされたタイムアウト時間より長くビジー状

態であることが判明しました。原因: サーバが非常にビジーな状態であるか、またはスレッドがハングしています。アクション: ハングしたスレッドが実行されているメソッドをモニタしてください。コンソールで要求実行機能をモニタするか、またはスレッドダンプ (weblogic.Admin THREAD_DUMP) を取

得してください。

実行例:コマンドのフォーマット:

weblogic.GetMessage -id [MessageID] -detail

Page 25: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

ローテーションがサポートされていないログを強制的にローテーションさせるローテーションがサポートされていないログを強制的にローテーションさせる

1.ダミーファイルを作成

 ファイルサイズ 0 のファイル(今回は dummy.txt とします)を用意します。

2.現在のログファイル(wl-console.log)を別のファイル名にコピー

 以下のようなコマンドでコピーします。

 >cp wl-console.log wl-console.log.bak1

3.現在のログファイルをリセットします

 以下のようなコマンドでファイルサイズをリセットします。

 >cp dummy.txt wl-console.log

※このような操作は、OS の環境に依存する部分かと存じますので、

  検証の上、実施していただきますようお願いします。

Page 26: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

スレッドダンプの見方スレッドダンプの見方

スタックトレースの抜粋

"[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" id=22 idx=0x4ctid=2928 prio=5 alive, in native, sleeping, native_waiting, daemon

at java/lang/Thread.sleep(J)V(Native Method)at jsp_servlet/__threadname._jspService(__threadname.java:82)at weblogic/servlet/jsp/JspBase.service(JspBase.java:34)at weblogic/servlet/internal/StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)at weblogic/servlet/internal/StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:292)at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:175)at weblogic/servlet/internal/WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)at weblogic/security/acl/internal/AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)at weblogic/security/service/SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/

security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(Unknown Source)at weblogic/servlet/internal/WebAppServletContext.securedExecute(WebAppServletContext.java:2180)at weblogic/servlet/internal/WebAppServletContext.execute(WebAppServletContext.java:2086)at weblogic/servlet/internal/ServletRequestImpl.run(ServletRequestImpl.java:1406)at weblogic/work/ExecuteThread.execute(ExecuteThread.java:201)at weblogic/work/ExecuteThread.run(ExecuteThread.java:173)at jrockit/vm/RNI.c2java(IIIII)V(Native Method)-- end of trace

"[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" id=22 idx=0x4ctid=2928 prio=5 alive, in native, sleeping, native_waiting, daemon

at java/lang/Thread.sleep(J)V(Native Method)at jsp_servlet/__threadname._jspService(__threadname.java:82)at weblogic/servlet/jsp/JspBase.service(JspBase.java:34)at weblogic/servlet/internal/StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)at weblogic/servlet/internal/StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:292)at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:175)at weblogic/servlet/internal/WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)at weblogic/security/acl/internal/AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)at weblogic/security/service/SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/

security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(Unknown Source)at weblogic/servlet/internal/WebAppServletContext.securedExecute(WebAppServletContext.java:2180)at weblogic/servlet/internal/WebAppServletContext.execute(WebAppServletContext.java:2086)at weblogic/servlet/internal/ServletRequestImpl.run(ServletRequestImpl.java:1406)at weblogic/work/ExecuteThread.execute(ExecuteThread.java:201)at weblogic/work/ExecuteThread.run(ExecuteThread.java:173)at jrockit/vm/RNI.c2java(IIIII)V(Native Method)-- end of trace

現在処理中のメソッド

アプリケーションを処理するスレッド

下にいくほど、呼び出し元になります

現在処理中のメソッドを呼び出しているスレッド

Page 27: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

スレッドダンプ採取の間隔は?スレッドダンプ採取の間隔は?

そもそも、スレッドダンプを複数回取得するのはなぜ?一定間隔で取得することで、アプリケーションの進行状況が把握出来る為です。

スレッドダンプを取得する間隔が 5~10 秒おきとか、表

現があいまいなのはなぜ?アプリケーションの処理が滞る時間に依存する為です。

例えば、①の間隔では、問題となっている処理のスレッドを取得出来ません。

時間軸

① ①② ② ②

スレッドダンプ取得のタイミング

問題となっている処理を実行中

Page 28: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

~おまけ~

WLSのバージョンアップ

~おまけ~

WLSのバージョンアップ

Page 29: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

バージョンアップのメリットバージョンアップのメリット

• JVMのパフォーマンス向上・安定性の確保

アプリケーションサーバを動かすJVMのバージョンが上がることによる、

パフォーマンス向上・安定性の確保が出来る。

– パフォーマンス

• 約2倍の性能向上(SPECjbb2005によるベンチマーク)

– JRockit の安定性比較(リリースノートの情報より)

• “crash” と記載された修正案件の件数– JRockit JVM R24 台では、平均して 10 件以上

  の記載

– JRockit JVM R27 台では、多くても 5 件

• 新のアーキテクチャによる、サービスの向上、開発コストの低減

• サービス向上に関する機能– 管理コンソールの強化、AD4J、Enterprise Manager のサポート

• 開発コスト低減に関する機能– JavaEE5、Oracle ADF、Spring Framework

29

Page 30: WebLogic Server 技術紹介「第5回WebLogic Server勉強会@東京」資料

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

本セッションおよびWebLogic全般のお問い合わせ本セッションおよびWebLogic全般のお問い合わせ

• WebLogic に関するご相談承ります!

– メールアドレス:[email protected]※メールの際は“WebLogic Server 勉強会で…”と  入れていただくと、内容に区別がつき、助かります!

30

WebLogicに対してのこれまでの取り組み

基幹システムでの構築・導入実績(APサーバ全般)1998年よりほぼ全業種でのAPサーバ導入実績大規模/基幹システムを含む3,000システムでの導入実績24時間365日の緊急時サポート提供体制APサーバサポート専門スタッフによる万全のサポート体制

教育サービスなどのさまざまな技術支援

WebLogicに対してのこれまでの取り組み

基幹システムでの構築・導入実績(APサーバ全般)1998年よりほぼ全業種でのAPサーバ導入実績大規模/基幹システムを含む3,000システムでの導入実績24時間365日の緊急時サポート提供体制APサーバサポート専門スタッフによる万全のサポート体制

教育サービスなどのさまざまな技術支援