不具合調査の強い味方「ST03N」の活用方法
INDEX LINK
はじめに
SAPで予期せぬデータの発生や原因不明のリソース消費がある場合には、トランザクションコード「ST03N」が非常に役立ちます。
本来ベーシス側のスキルですが、アプリ側でも覚えておくと非常に便利、という内容です。
1.「ST03N」とは
SAP関連のエンジニアやコンサルタントにとって、予期せぬデータ問題の原因を突き止めるのは難題です。
特に、ユーザーが具体的な操作内容を覚えていない場合、問題解決はさらに複雑になります。
このようなときに役立つツールが、トランザクションコードST03Nです。
ST03Nの実行履歴機能を使用することで、システムのエキスパートモードをオンにし、「詳細分析>業務トランザクション」のセクションから日時を指定してシステムで実行されたトランザクションのリストを取得できます。
ST03Nで得られる情報は、問題解決の糸口を見つける上で非常に価値があります。
各トランザクションを確認しながらユーザーの操作を追跡することで、問題の原因を探ることができます。
このプロセスはデバッグのような作業になりますが、綿密に分析することで重要な発見につながることもあります。
トランザクションコードST03Nは、SAPシステムに関わる技術者にとって強力なツールです。
ユーザーの操作履歴を確認し、彼ら自身も気づいていない原因を解明する手がかりを提供してくれます。
このツールを使いこなすことで、より効果的な問題解決が可能になるでしょう。
2.ST03の具体的な活用方法
ST03を最も活用するシーンは「サーバーのリソース状況」を調べるときですね。
トランザクションの処理スピードが遅い、帳票出力までに異様に時間がかかる、といった場合はST03でリソースを確認してみましょう。
プログラムに不具合があり、異様にサーバーリソースを食い続けている場合にも、状況確認のために使います。
・ST03を実行して対象を選択
まずST03を実行します。
「ワークロードモニター」という画面が表示されるので該当するホスト名をクリック。
さらに「日(Day)」で対象日を指定します。
現在の状況を知りたいときは本日日付ですね。
・メモリ使用統計を確認
リソースはどこから確認してもよいのですが、今回はメモリから見ていきましょう。
メモリ使用統計(Memory Use Statistics)をクリック。
Windowsマシンのタスクマネージャーのようにメモリ使用量が確認できます。
トランザクション名が表示されるのでクリックすると、さらに別画面で実行ユーザーが確認できます。
開発部門や運用部門で重い処理を走らせている場合は、この実行ユーザーから割り出すことが可能です。
実行ユーザーは「SU01」で特定することができますから、誰が・どのような処理を走らせてメモリを消費しているかがすぐにわかります。
・ST03で確認できるリソース
同じようにしてCPUの使用時間や平均応答時間なども確認可能です。
以下は、ST03で確認できるリソース項目です。
平均 CPU 使用時間
CPU 使用の平均時間。
アプリケーションサーバの CPU が処理している時間 (ロード、生成、データベース依頼の処理、ABAP 処理など) を表示しています。
平均応答時間
ダイアログ処理によってワークプロセスに依頼が送信される時点から、ダイアログが完了し、データが転送される時点までの平均時間を表しています。
ただし応答時間には、SAP フロントエンドからアプリケーションサーバまでのデータ転送時間は含まれません。
つまりネットワークのパフォーマンスは考慮されていないので注意しましょう。
平均待機時間
未処理のダイアログが待機している時間です。
通常はミリ秒程度ですが、アプリケーションサーバまたはシステム全体の負荷が高いと、待機キューで混雑が発生し、数秒以上の待機時間になることもあります。
平均ロードおよび生成時間
ABAP ソースコードや画面情報などのオブジェクトを、データベースからロードおよび生成する場合に必要な平均時間。
DBコール
解析されたデータベースアクセスの数。
DBアクセス
データベース内のデータに対するABAPからの論理的なアクセスの数です。
データベースアクセス数に対するコール数の比率が多すぎるとサーバーのパフォーマンスが落ちます。
SAP公式によれば、データベースへのコールとアクセスの比率は、理想的な比率は 1:10 とのこと。
全体のアクセスに占めるコール数が10%を超えないように、というのが目安ですね。
実際には難しい場合もありますが。
まとめ
今回はベーシスチームのみならず、アプリチームでも非常によく使うST03について紹介しました。
ベーシスとアプリ側はどうしてもコミュニケーション不足になりますから、ST03という「共通言語」はしっかり押さえておきたいところですね。
開発・運用の両面からSAPシステムの「今」を知れるのでぜひチェックしておきましょう。