1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Application Performance Management (APM)について

Posted at

NetSuiteを活用してシステムを構築・運用していると、カスタマイズや多様なスクリプト、ワークフローを組み合わせる機会が増えてきます。その中で、システムパフォーマンスの問題は避けて通れません。
本記事では、NetSuiteの APM (Application Performance Management) 機能を中心に、パフォーマンス調査や改善につながる活用ポイントを紹介します。


APM概要

  1. Performance Health Dashboard (パフォーマンスの健全性ダッシュボード)

    • スクリプトやワークフローなどの実行統計を一目で把握できる。
    • 過去のパフォーマンス履歴(トレンド)と現在の状況を比較可能。
  2. Suite Script Analysis (SuiteScript分析)

    • User Event、Scheduled、RESTletなどSuiteScriptの実行状況を詳細表示。
    • CPU時間、メモリ使用量、実行回数、エラー発生状況をグラフやテーブルで確認。
  3. Search Performance Analysis (検索パフォーマンスの分析)

    • 保存検索のパフォーマンス状況を可視化する機能
    • 遅い検索や実行回数の多い検索を特定し、システム全体のパフォーマンス向上を図る
    • ID、実行回数、平均処理時間、最大処理時間をグラフやテーブルで確認。
  4. Record Pages Monitor (レコードページモニター)/
    Page Time Summary (検索パフォーマンスの分析)

    • レコードページの表示速度を分析し、User Event Scripts やサブリストが読み込み遅延の原因になっていないか確認。
    • ページのカスタマイズやフォーム構成がパフォーマンスに与える影響を把握。
  5. Data Visualizations (データ可視化)

    • 時間帯やユーザロールなどでフィルタリングし、より具体的なボトルネックを発見可能。
  6. アクセス権限の設定

    • Administratorロール、もしくはAPM機能を利用できる権限が必要。
    • ロールごとにAPMの表示可否や編集可能範囲を調整。

APM (Application Performance Management)とは

NetSuiteのAPM機能は、以下のような目的で利用されます。

  1. スクリプトのパフォーマンス分析

    • SuiteScript(User Event、Scheduled、RESTlet など)の実行時間やメモリ使用量・実行回数を可視化。
  2. ワークフローのパフォーマンス分析

    • ワークフローがどのように動作しているかを分析し、遅延やボトルネックを特定。
  3. ページ表示速度やシステム全体のパフォーマンス測定

    • 特定のレコードページやフォーム、保存検索の読み込みに時間がかかっていないかを可視化し、問題の切り分けをサポート。

これらの機能はそれぞれ専用の画面(Suite Script Analysis / Page Time Summery / Record Pages Monitor / )で統合的に管理することができます。


APM機能へのアクセス方法

APM機能はNetSuiteの特定メニューからアクセス可能です。ロールやUIによって多少異なりますが、一般的な手順をまとめます。

  1. メインメニューカスタマイゼーションPerformance
  2. APMのダッシュボードが開くと、以下のセクションに切り替えられます。
    • Performance Health Dashiboard: システム全体のトレンド・概要
    • Script Analysis: スクリプトパフォーマンス状況
    • Page Time Summary: ページ読み込み速度の分析
    • Search Performance Analysis: 保存検索の読み込み速度の分析

※ 権限設定によってはAPMのメニューが表示されない場合があります。必要に応じてAdministratorロール、もしくはAPM利用が許可されたロールでログインしてください。


APMで得られる主な指標

APMでは、以下の指標がグラフィカルに表示され、トラブルシューティングに役立ちます。

  1. Execution Time (実行時間)

    • スクリプトやワークフローが完了するまでの時間
    • ページ表示にかかる時間など
  2. Throughput (スループット)

    • 単位時間あたりの実行回数や処理件数
  3. CPU Time / Memory Usage

    • CPU時間やメモリ使用量の観点から、スクリプトロジックの効率性を分析
  4. Error Count / Error Rate (エラー数・エラー率)

    • 特定のスクリプトやワークフローで頻繁に起きているエラーの把握

具体的な活用シナリオ

1. スクリプトのパフォーマンス問題を特定

  • Scenario
    大量のレコードを取り扱うスケジュールドスクリプトがタイムアウトやスロットリングを頻発。

  • APMでの分析

    • 「Script Analysis」で対象スクリプトの実行時間、CPU時間、メモリ使用量をチェック
    • 検索回数が多い、ループが過剰などのボトルネック部分を特定
  • 対処例

    • search.create()を一度にまとめる、検索条件を見直す
    • 高負荷処理を複数のスクリプトに分割
    • バッチ処理のタイミングを調整し、競合を避ける

2. ワークフローが思ったより遅い/多重実行している

  • Scenario
    複雑なワークフローを構築していたところ、処理が遅くユーザーからクレームが発生。

  • APMでの分析

    • 「Page Time Summary」で該当ワークフローの各ステップの実行時間やトランジション回数を可視化
    • イベント(Create/Edit時など)の実施タイミングが重複していないか確認
  • 対処例

    • ワークフローをシンプルに統合・分割してみる
    • 必要なステップだけ残し、条件分岐を厳密化
    • 重複トリガーを排除

3. ページ表示が重い

  • Scenario
    特定のカスタマイズレコードページが表示に数秒以上かかり、業務効率が低下。

  • APMでの分析

    • 「Page Time Analysis」でページ読み込みプロセスを確認
    • 呼び出されるUser Event Scriptやサブリスト読み込みに時間がかかっていないか確認
  • 対処例

    • 画面ロード時に動くスクリプトを見直し、処理を最小化
    • 初期表示のサブタブやサブリストを絞り、オンデマンドで展開する
    • フィールド数やサブレコード数を適度に減らす

APM活用時のベストプラクティス

  1. 定期的なモニタリング

    • リリース直後だけでなく、週1回・月1回など定期的にAPMダッシュボードを確認し、パフォーマンスの傾向を追う。
  2. チームでの可視化共有

    • APMのグラフやレポート結果をチームで共有することで、問題箇所を迅速に把握し、対策を協議しやすくなる。
  3. Sandbox環境との比較

    • SandboxでもAPMを利用できる場合は、本番とのパフォーマンス差や再現性を検証しやすい。
  4. Scriptログ / Workflowログとの併用

    • APMの統計情報だけでなく、各スクリプトのログやワークフローの実行ログを併用することで、原因特定をさらに絞り込む。
  5. 最新ドキュメントの参照

    • APMはNetSuiteのアップグレードで強化されることがあるため、公式ドキュメントを定期的にチェックし、追加・変更された機能を把握することが重要。

まとめ

NetSuiteはERPからCRMまで幅広い機能を提供しているため、カスタマイズが複雑化すると、パフォーマンス課題が顕在化しやすくなります。そこでAPM (Application Performance Management) 機能を活用することで、以下を実現できます。

  • ボトルネックを可視化し、問題箇所を素早く特定できる
  • エラーの原因やCPU/メモリ過多を早期に把握・対処できる
  • チーム全体で同じデータを参照してスピーディに改善策を検討できる

ポイントは、APMの結果を定期的に確認して早期に対処することです。 ぜひ、公式ドキュメントを活用しつつ、日々の運用や開発にお役立てください。


参考リンク

本記事が、NetSuiteでのパフォーマンス管理に役立てば幸いです。
また、より具体的なお悩みがあるなどありましたら、コメント頂けますと更なる記事の改善を進めてまいります。必要に応じて機能毎のより深い解説をできたらとおもっています。よろしくお願い致します。:ear:

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?