この付録には、Oracle Load Testingによって生成されるエラー・メッセージおよびその対処が一覧表示されています。
エラー・コードおよびメッセージは、メッセージ・ボックスとして表示されるか、Oracle Load Testingオートパイロットの仮想ユーザー・グリッドで現在のエラーまたは最後のエラー列に表示されます。
現在のエラーおよび最後のエラーには、実行中の仮想ユーザーがテスト中に遭遇したエラーが表示されます。現在のエラーには、現在の反復で発生したエラーが表示されます。最後のエラーには、最後に行われた反復で発生したエラーが表示されます。
エラーおよびその説明のリストを次に示します。
サーバーを作成できません
Oracle Load Testingが仮想ユーザーを実行するためのエージェント・サーバーを作成できませんでした。次の手順を試してください。
Oracle Load Testingエージェント・ソフトウェアがエージェント・システムにロードされており、それがOracle Load TestingシステムにロードされているOracle Application Testing Suiteソフトウェアと同じバージョンであることを確認します。エージェントとして使用する予定のシステムがエージェントとして機能するためには、Oracle Load Testingエージェント・ソフトウェアか、完全なOracle Application Testing Suiteがインストールされている必要があります。Oracle Load Testingエージェント・ソフトウェアとOracle Application Testing Suiteソフトウェアの両方を、同じシステム上にはインストールしないでください。両方をインストールすると、2つのプログラム間でリソースの競合が発生する場合があります。
Oracle Load Testingシステムから、すべてのエージェント・システムに正常にPingを発信できることを確認します。システムのPingに使用する名前は、Oracle Load Testingシステムでエージェント・システムに指定する名前と同じです。エージェント・システムに正常にPingを発信できない場合は、ネットワーク管理者に問い合せて問題を解決してください。Oracle Load Testingシステムからエージェント・システムにPingを発信できない場合は、Oracle Load Testingシステムからエージェントを実行できません。
同じユーザーが、Oracle Load Testingシステムと、エージェント・システムすべての両方にログインしていることを確認します。エージェント・システムのすべてをOracle Load Testingシステムで制御するには、そのすべてにログインしている必要があります。エージェント・システムに別のユーザーとしてログインすることもできますが、その場合にはOracle Load Testingシステムにログインしているユーザーと同じ管理権限を持っていることが前提です。
Oracle Load Testingとエージェント・システムがドメイン・セキュリティ・モデルに追加されていない場合には、Oracle Load Testingとエージェント・システムの両方がAdministratorとしてログインし、まったく同じパスワードを使用する必要があります。
Oracle Load TestingシステムからWindowsエクスプローラを使用して、各エージェント・システムにドライブを割り当てます。ネットワークの設定によっては、Oracle Load Testingシステムがエージェント・システムのプロセスを起動できない場合があります。この問題を解決する最も簡単な方法は、エージェント・システムにドライブを割り当てることでWindowsの認証を受ける方法です。
Oracle Load Testingシステムで、「シナリオ」リストの「設定」パラメータにスクリプトを追加します。システム・マネージャを使用して、スクリプトを実行するエージェント・システムを追加し、「シナリオの設定」タブの「システム」フィールドからシステムを選択します。
このエラーは、Oracle Application Testing Suiteコンポーネントのレジストリ・エントリに関する問題を示している場合もあります。Oracle Application Testing Suiteのアンインストールと再インストールを試みてください。再インストールしても問題が解決されない場合には、カスタマ・サポートにお問い合せください。
検索に失敗しました
Oracle Load Testingは、スクリプトに記録された2つのページ間のナビゲーションを検索できません。Oracle Load Testingでは、スクリプトが正常に再生された場合でも、様々な理由でこのエラーが発生します。Oracle OpenScriptは、スクリプトを記録および再生するとき、Thickクライアントのブラウザ・モードを排他的に使用します。
通常、検索に失敗しましたエラーは、Oracle Load Testingで再生されるスクリプトに記録された、動的生成によるHREFに関連しています。たとえば、HREFには次が含まれています。
セッション情報
インラインJavaScript
その他の動的に変更される属性
Webページ・ソース内のリンクに使用されている特定の技術およびOracle Load Testingの現在の設定によっては、Oracle Load Testingにおいて検索に失敗しましたエラーを引き起こす可能性があります。
Oracle Load Testingで検索に失敗しましたエラーが発生した場合は、仮想ユーザーを1つに絞ってシナリオ/スクリプトを実行してみてください。Oracle Load Testingでシナリオ/スクリプトを実行する場合は、そのシナリオ/スクリプトを使用して小規模な負荷テストを実行できます。
検索に失敗しましたエラーを解決するには、カスタマ・サポートに連絡して、Oracle Load Testingの各種設定について、状況に応じたサポートを受けてください。ある方法で検索に失敗しましたエラーを解決できても、同じ方法で別の状況で生じた検索に失敗しましたエラーを解決できるとは限らないので注意してください。検索に失敗しましたエラーを解決できないときには、その都度、カスタマ・サポートまでご連絡ください。
一致しませんでした
Oracle Load Testingは、スクリプトに記録された2つのページ間でナビゲーション・パス(クリックされたリンクをOracle OpenScriptがスクリプトに記録する際の内部形式)を検出しましたが、そのナビゲーション・パスの1つ以上の部分コンポーネントを一致させられませんでした。
一致しませんでしたエラーは、Oracle Load Testingで再生されるスクリプトに記録された、動的生成によるHREFに関連しています。
一致しませんでしたエラーを解決するには、弊社カスタマ・サポートに連絡して、Oracle Load Testingの各種設定について、状況に応じたサポートを受けてください。ある方法で一致しませんでしたエラーを解決できても、同じ方法で別の状況で生じた一致しませんでしたエラーを解決できるとは限らないので注意してください。一致しませんでしたエラーを解決できないときには、その都度、カスタマ・サポートまでご連絡ください。
シナリオ「シナリオ名」を開けませんでした
Oracle Load Testingが指定されたシナリオ・ファイルを開けませんでした。
キー「レジストリ・キー名」を開けませんでした
Oracle Load Testingが指定されたレジストリ・キーを開けませんでした。
「レジストリ・キー」を取得できませんでした
Oracle Load Testingが指定されたレジストリ値の文字列を取得できませんでした。
サーバー「サーバーProg ID」の呼び出しを開始できませんでした
Oracle Load Testingがスクリプトで指定されている外部プログラム呼び出しサーバーを開始できません。
ライセンス エラー
ライセンス許可を受けた数を上回る数の仮想ユーザーを使用しています。「ヘルプ」メニューから「Oracle Test Manager for Web Applications について」を選択して、最大仮想ユーザー数を確認してください。
Oracle Load Testingは、内部的なRSWISERVエラーを仮想ユーザー・グリッドのエラー列にレポートします。次に示すのは、RSWISERVエラーの例です。
DRIVER ERROR 2010, RSWISERV Error, http:// ......
コード | エラー定数 |
---|---|
100 | RSW_NO_RESULTS_TO_REPORT |
101 | RSW_CONNECT_BUCKET_TIMEOUT |
200 | RSW_DLL_UNINIT_COMPLETED |
1000 | RSW_ERROR_INVALID_PARAMETERS |
2000 | RSW_INET_LAYER_NOT_INITD |
2001 | RSW_OPEN_REQUEST_FAILED |
2002 | RSW_ADD_REQUEST_HEADERS_FAILED |
2003 | RSW_SEND_REQUEST_FAILED |
2004 | RSW_QUERY_INFO_FAILED |
2005 | RSW_FAILED_TO_CLOSE_HANDLE |
2006 | RSW_ERROR_NO_SESSION_HANDLE |
2007 | RSW_INTERNET_SET_OPTION_FAILED |
2008 | RSW_INTERNET_QUERY_OPTION_FAILED |
2010 | RSW_INTERNET_LOGIN_FAILURE |
2011 | RSW_AUTH_LOGIN_PARMS_NOTAVAILABLE |
2012 | RSW_CANNOT_CREATE_AUTH_OBJECT |
2013 | RSW_READ_REQUEST_FAILED |
2014 | RSW_INTERNET_REQUEST_TIMEOUT |
3000 | RSW_UNABLE_TO_CREATE_EVENT |
3001 | RSW_UNABLE_TO_CREATE_THREAD |
3002 | RSW_UNABLE_TO_CREATE_NEW_REQUEST |
3003 | RSW_UNABLE_TO_CREATE_NEW_THEAD_ENTRY |
3004 | RSW_UNABLE_TO_CREATE_MUTEX |
3005 | RSW_UNABLE_TO_CREATE_NEW_OBJECT |
3006 | RSW_UNABLE_TO_ALLOCATE_NEW_MEMORY |
トラブルシュートに役立つサポートおよびログ・ファイルを入手するには、Oracle Application Testing Suiteスタート・メニューにある「ツール」サブメニューからサポート・ファイルの作成を選択します。OATSSupport.zipファイルがデスクトップに生成されます。
この項では、Oracle Application Testing Suite Application Serviceメッセージとともに想定される原因および解決策を示します。
症状: エージェントが見つからない、メッセージを閉じるのに時間がかかりすぎる、またはセッションが中断される。
発生時期: 主にテスト中。
原因: Oracle Load TestingおよびOracle Application Testing Suite Application Service、エージェント間の通信ラインが中断されています。
解決策: 次のことを確認します。
Oracle Load Testing、Oracle Application Testing Suite Application Serviceおよびエージェントがインストールされているマシンがping可能なことを確認します。ネットワークが正常に稼働していることも確かめます。
<installdir>\logsディレクトリのログ・ファイルを確認して問題の性質を示す例外が記録されていないかどうかを調べます(セッションの強制終了を伴う複数ソケット・エラーなど)。
イベント ビューアのシステム・ログで、ネットワーク警告が発生していないかどうかを確認します。
症状: サーバーが初期化されていない。システム・マネージャでメッセージが長い間表示される。
発生時期: 常にテスト実行前。
原因: Oracle Application Testing Suite Application Serviceが起動していないか、または問題が発生しています。Oracle Load Testingのロケーションが正しくありません。
解決策: 次のことを確認します。
正しいホストまたはポート番号に設定されていることを確認します。
Oracle Application Testing Suite Application Serviceが起動していることを確かめます。マシンの「サービス」で、Oracle Application Testing Suite Application Serviceが開始されていることを確認します。
サーバーを停止し、再起動します。
<installdir>\logsディレクトリのAdminServerログ・ファイルを見て、問題の性質を示す例外が記録されていないかどうかを調べます(マシンがネットワークから切断されている、など)。
症状: Oracle Load Testingを開始したときにページが表示されない。
発生時期: Oracle Load Testingの起動時。
原因: この問題は次の場合に発生します。
Oracle Application Testing Suite Application Serviceが開始していません。
ポートで競合が発生しています。
インストールが正しく行われていません。
最後の実行時からの古いメッセージが残っているため、CPU使用率が100%です。
解決策: 次のことを確認します。
Oracle Application Testing Suite Application ServiceおよびOracle Load Testing Agent Serviceが起動していることを確認するには、次のようにします。
すべてのOracle Application Testing Suite製品を閉じます。
Windowsの「コントロール パネル」の「管理ツール」から「サービス」を開きます。
Oracle Load Testing AgentとOracle Application Testing Suiteのサービスが起動していることを確認します。
必要に応じて、Oracle Load Testing AgentとOracle Application Testing Suiteのサービスを再起動します。
Oracle Application Testing Suiteアプリケーションを再起動し、セッションを開始します。
インストール・ディレクトリ内にあるサーバー・ログでエラー・メッセージを確認するには、インストール・ディレクトリにあるファイル(C:\OracleATS\logs\wls_oats.log)を参照します。
デフォルトにより、Oracle Load Testingは起動時にターゲット・エージェント・マシンに対して、8088、7073および9001のポートを使用します。ポート競合は、次のようなメッセージで示されます。
java.net.BindException: Address already in use: JVM_Bind
このメッセージは、インストール・ディレクトリにある次のファイルに含まれます。
C:\OracleATS\logs\wls_oats.log
C:\OracleATS\logs\servers\AdminServer\logs\*.log
C:\OracleATS\\logs\agentmanager.log
ポートの空き確認するには、次のようにします。
コマンド・プロンプトでnetstat -a
と入力します。
tcpview
ユーティリティを次のURLからダウンロードして実行します。
CPU使用率が100%である場合に古いメッセージを削除するには、次の手順を行います。
Windowsの「コントロール パネル」の「管理ツール」から「サービス」を開き、Oracle Application Testing Suite Application Serviceを停止します。
<installdir>\oats\servers\AdminServer\data\store\defaultディレクトリ内のすべてを削除します。
Oracle Application Testing Suite Application Serviceを再起動します。
その他の確認事項
複数のNICが存在する場合は、サービスが正しいIPアドレスに連結されていることを確かめます。コマンド・プロンプトでipconfig/all
と入力して、インタフェースの数を調べます。
問題が持続する場合は、弊社カスタマ・サポートに問い合せてください。
この項では、負荷テスト中の想定される問題とともに想定される原因および解決策を示します。
原因: この問題は次の場合に発生します。
Oracle Application Testing Suite Application Serviceがエージェントとは異なるユーザー・アカウントで起動しているため、ネットワーク・ドライブにアクセスできません。
保存されたシナリオに、必要なスクリプトまたはデータバンク・ファイルが含まれていません。これは、シナリオを別のマシンからコピーした場合に発生する可能性があります。
リポジトリとワークスペースの構造が、記録されたシナリオとは異なっています。これは、シナリオを別のマシンからコピーした場合に発生する可能性があります。
解決策: 次のことを確認します。
インストール・ディレクトリ内にあるサーバー・ログ(<installdir>\oats\servers\AdminServer\logs\AdminServer.log)でエラー・メッセージを確認します。
エラーを発見した場合は、「Oracle Load Testingのセッションを開始できない」を参照してください。
Service.mscを使用して、エージェントが起動しているアカウントを確認します。
そのアカウントに対して、ネットワーク・パスが使用可能であるかを確認します。「コントロール パネル」の「管理ツール」にある「サービス」で「ログオン」を選択します。
このユーザー・アカウントでログオンします。ユーザー・アカウントの変更手順は、3.1.4.2項「Oracle Load Testingエージェントの設定」を参照してください。
テストを実行するマシン上のワークスペースおよびリポジトリ構造が、シナリオのコピー元であるマシンと同じであることを確かめます。
すべてのスクリプトおよびデータバンク・ファイルがあることを確認します。足りないスクリプトやデータバンク・ファイルがある場合は、コピー元のマシンから新しいマシンにコピーします。
原因: この問題は次の場合に発生します。
インストール時にJMSWrapper.dllが登録されませんでした。
データベース・エラーが発生しています。
エージェント・マネージャの設定に問題があります。
デュアルNICやファイアウォールなど、マシン間の接続の問題があります。
セッションのタイムアウト設定が低すぎます。
サーバーとエージェント間でOracle Load Testingバージョンの互換性がありません。
解決策: 次のことを確認します。
インストール・ディレクトリ内にあるサーバー・ログ(<installdir>\logs\agentmanager.log)でエラー・メッセージを確認します。
エラーを発見した場合は、「セッションを開始できません」を参照してください。
JMSWrapper.dllを登録するには、次の手順を行います。
コマンド・プロンプトを開きます。
path=<installdir>\jdk\jre\bin;<installdir>\jdk\jre\bin\client;%path%を設定します。
Regsvr32 jmswrapというコマンドを入力します。
データベース・エラーを確認するには、次の手順を行います。
データベース管理ユーザー・インタフェースを開きます。
データベース・エラーを確認します。
デフォルト・エージェント・タイムアウト値を変更するには、次の手順を行います。
Oracle Application Testing Suite Application Serviceを停止します。
oracle.load.agent.timeout.default設定を変更します。設定のデフォルト値は、OATSデータベースにあるOATSスキーマ内のDEFAULT_GENERAL_SETTINGSテーブルにあります。カスタマ設定値はスキーマ内のGENERAL_SETTINGSテーブルにあります。
oracle.load.agent.timeout.defaultエントリを、秒単位の新しい値に変更します。
Oracle Application Testing Suite Application Serviceを再起動します。
マシンでOracle Load Testingの別のバージョンが起動している場合は、すべてのマシンに同じバージョンをインストールしてください。
症状: 負荷テスト中にユーザー・インタフェースがフリーズして応答がなくなる。
原因: これは次の場合に発生します。
CPU使用率が100%のとき
メモリーが範囲を超えているとき
解決策: 次のことを確認します。
インストール・ディレクトリ内の次のファイルにあるサーバー・ログでエラー・メッセージを確認します。
<installdir>\logs\wls_oats.log
エラーを発見した場合は、「セッションを開始できません」を参照してください。
<installdir>\oats\servers\AdminServer\logsディレクトリのAdminServer.logファイルを見て、問題の性質を示す例外が記録されていないかどうかを調べます(セッションの強制終了を伴う複数ソケット・エラーなど)。
イベント ビューアのシステム・ログで、ネットワーク警告が発生していないかどうかを確認します。
CPU使用率が100%である場合に古いメッセージを削除するには、次の手順を行います。
Windowsの「コントロール パネル」の「管理ツール」から「サービス」を開き、Oracle Application Testing Suite Application Serviceを停止します。
次の場所にあるすべてを削除します。
<installdir>\oats\servers\AdminServer\data\store\defaultディレクトリ
メモリー不足の場合にメモリーを増量するには、次の手順を行います。
Oracle Application Testing Suite Application Serviceを停止します。
Regeditを開いて、キーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Oracle Application Testing Suite Application Service\Parametersを見つけます。
文字列の値の中のCmdLine
は、引数-Xms256m
-Xmx1024m
を示します(注意: 実際の値とは異なることがあります)。
引数-Xms
はWeblogic Serverで使用可能なメモリーの容量を指定します。-Xmx
は最大メモリー容量を指定します。
メモリー制限の最大値と最小値に必要な値を設定した後に、Regeditを閉じてマシンを再起動します。
Oracle Load Testingエージェント・サービスは、エージェント・プロセスの開始、プロセスがシャットダウンしたときの監視、Oracle Load Testingコントローラによって要求されたときのプロセスの停止などを実行します。エージェントは、プロセスの停止を認識すると必ずWindowsに対してそのプロセスのエグジット・コードを要求します。これは、Oracle Load Testingにレポートされ、<installdir>\logs\agentmanager.logファイルに記録される終了コード値です。
次のいずれかの値が返されます。
ExitProcessまたはTerminateProcess関数で指定されるエグジット値。
プロセスのmainまたはWinMain関数からの戻り値。
プロセス停止の原因となった未処理の例外の例外値。
よく見られるエグジット・コードで知られている原因は、次のとおりです。
Unexpected Agent Exit. Code = 143
このコードは、コンソール・ウィンドウを手動で閉じる方法でJavaAgentプロセスを終了した場合、またはタスク・マネージャのアプリケーション・タブでアプリケーションを終了した場合に返されます。
Unexpected Agent Exit. Code = 1
このコードは、WgPro.exeまたはJavaAgent.exeがWindowsタスク・マネージャのプロセス・タブを使用して直接終了された場合に返されます。
Unexpected Agent Exit. Code = 0
このコードは、エージェント・フォームが手動またはタスク・マネージャのアプリケーション・タブを使用して閉じられた場合に返されます。
終了コード0はJavaAgentプロセスが正しく終了した場合は常にレポートされます。これは、たとえばユーザー・コールバック・コードがSystem.exit(1)
を呼び出す場合などに発生します。
この項では次の用語を使用しています。
サーバー: ユーザーがブラウザをポイントするサーバーです。たとえば、サーバー・マシン上のOracle Application Testing Suite Application Serviceなどです。
リモート・データ・コレクタ・サーバー(RDCS): ユーザーがデータ・コレクタを開始するマシン上で起動しているWeblogicサーバーです。これは、サーバーと同じWeblogicインスタンスである場合とない場合があります。また、データ・コレクタ・マシン上のOracle Application Testing Suite Application Serviceとも呼ばれます。
エージェント・マネージャ: ユーザーがデータ・コレクタを開始するマシン上で実行されているサービスを起動するエージェントです。Oracle Load Testing Agent Serviceとも呼ばれます。
データ・コレクタ(DC): エージェント・マネージャによって開始されるデータ収集プロセスです。
Ds.dcStartupFailed
このエラーは、エージェント・マネージャがDCプロセスを起動できなかった場合に発生します。これは、リモート・データ収集マシンにデータ・コレクタがインストールされていない場合に発生する可能性があります。インストール・ツリーにDataCollectorディレクトリがあることおよび実行可能ファイルがあることを確認してソフトウェアが正しくインストールされていることを確かめます。
Ds.dcStartError
これは、リモート・データ収集サーバーとエージェント・マネージャとの通信に問題がある場合に発生します。次の原因が考えられます。
エージェント・マネージャが起動していない: Oracle Load Testing Agent Serviceが起動していることを確認し、必要に応じてサービスを開始します。
リモート・データ・コレクタ・マシンにデータ・コレクタがインストールされていない: インストール・ツリーにDataCollectorディレクトリがあることおよび実行可能ファイルがあることを確認してソフトウェアが正しくインストールされていることを確かめます。
Ds.dcNotAvailable
これは、起動したDCがRDCSと通信できない場合、またはDCからRDCSの通信にタイムアウト・インターバルを超過する時間がかかった場合などに発生します。次の原因が考えられます。
DCマシンの動作が遅い: タイムアウト・インターバルを長くします。データ・コレクタ・スタートアップ・タイムアウトは、RDCS上でoracle.propertiesファイルのoracle.datacollector.startup.timeout=90000
によってコントロールされています。
DCとRDCSが通信用のポート番号で一致しない: DCはRDCSのポート番号をDataCollector\bin\hwmagent.txt:SERVER localhost:7073から特定します。RDSCポート番号はoracle.properties:oracle.port.dataCollector=7073で割り当てられています。
errorCreatingDSClient
これは、サーバーとRDCS間の通信に問題があるときに発生します。サーバーとRDCSが同じである場合は、このエラーは発生しません。次の原因が考えられます。
RDCSが起動していない: DCマシン上でOracle Application Testing Suite Application Serviceが起動していることを確認します。
サーバーとRDCS間の基本ネットワーク接続: サーバーとRDCS間の基本ネットワーク接続を確認します。間にファイアウォールがある場合は、ポートを開く必要があります。ただし、ファイアウォールでNATが使用されている場合はこの方法では解決できません。