はじめに
こんにちは、Airitech株式会社の代表取締役をしている、山﨑政憲と申します。
これからInstanaの便利な使い方や、現場で活躍した事例をいくつか紹介していこうと思います。
Instanaとは
InstanaはIBMが提供しているObserbavilityツールです。
私は起業した2017年からInstanaを性能改善やトラブルシューティングに活用しており、「早い」「美味い」「安い」と三拍子揃ったInstanaの便利さを日々、実感しています。
Instana好きが高じてIBM Championの認定も受けていましす。
Airitechでは、X上でマンガも掲載しています。
こちらもご覧ください。
https://x.com/AiritechSupport/status/1765633493084893569
本題、性能改善対象の見つけ方
さて、みなさん、担当しているシステムの性能改善に取り組む場合、取り組む対象をどうやって選別するでしょうか?
ユーザからクレームが来たり、タイムアウトエラーになっていたら分かり易いですが、それって、かなり不味い状態ですよね。
そうなる前に見つける方法があると便利ですよね。
Instanaでの見つけ方
Analytics(分析)画面を使う
Instanaで改善対象を見つけるにはAnalytics(分析)機能を使います。
分析機能は以下のような画面構成で、Instanaが記録したトレースの分類、集計が可能です。
以下、分析画面を使った改善対象の絞り込み操作の方法を説明します。
フィルタリング条件を指定する
Analytics(分析)画面では、集計対象のフィルタリングが可能です。
ここで、フィルタでCall Typeを指定し、グループで集計対象を指定します。
HTTPリクエストを集計対象とする場合
Call TypeにHTTPを、グループにHTTP Pathを指定します。
SQLを集計対象とする場合
Call TypeにDATABASEを、グループにDatabase Statementを指定します。
表示項目を追加する
デフォルトでは、表示項目には、待ち時間(平均値)、エラーのある呼び出し率(平均値)しかありません。
これに、待ち時間(95th)、待ち時間(最大)、待ち時間(sum)を追加します。
ソート条件を指定する
最後に、ソート条件に「待ち時間(合計)」を指定します。
これで準備完了です。
改善対象の見極め
これは、あるシステムでの集計結果です。まず、No. 1の処理だけで、25.7%を占めている事が分かります。
この処理を改善することが、システムへの影響が最も大きいということになります。
また、以下の2パターンが存在すると分かります。
a. 呼び出し回数が多く、一回の処理時間が短い
b. 呼び出し回数が少なく、一回の処理時間が長い
基本的には上位のものから改善していけば良いのですが、今回、No. 1がタイプaであることから、No. 1の修正方法が他のタイプaに流用できる可能性も確認すると良いでしょう。
上手くすれば、大半の機能の性能を大きく改善出来るかも知れません。
他のObserbavilityツールでは?
他のObserbavilityツールでも同じような分析が可能です。
パフォーマンスインパクトという名称で呼ばれていたりもするので、他のObserbavilityツールを使われている方も探してみると良いでしょう。
さいごに
いかがでしたでしょうか?
Instanaの使い方、効果に興味を持たれた方はIBMのSoftware Salonでも使い方や事例について解説しているので、ぜひ、ご覧になってみてください。
IBM Software Salon 第10回 (2024/9/19)
トラブル解決でヒーローになろう!障害事例にみるObservabilityツール活用の勘所
https://video.ibm.com/recorded/133995814
また、Instanaユーザコミュニティも、定期的にイベントを行っています。
こちらもぜひ、ご覧ください。
https://instanautsjp.connpass.com/
それでは、今後もInstanaの便利な使い方や事例の紹介を行いますので、よろしくお願いいたします。