はじめに
こんにちは、Airitech株式会社の代表取締役をしている、山﨑政憲と申します。
普段は会社の経営の傍ら、遅いシステム、止まってしまうシステムのトラブルシュートを行っています。
これからInstanaが現場で活躍した事例をいくつか紹介していこうと思います。
システムトラブルに対して、Instanaを用いてObservabilityを獲得し、速やかに解決した事例を紹介していく本連載、第3回は、社内で使用するCRMシステムの応答時間を、Instanaを使って改善した事例になります。
今回も、あっという間に解決できた分、記事も短いです。
ぜひ、ご覧ください。
Instanaとは
InstanaはIBMが提供しているObserbavilityツールです。
私は起業した2017年からInstanaを性能改善やトラブルシューティングに活用しており、「早い」「美味い」「安い」と三拍子揃ったInstanaの便利さを日々、実感していますし、Instana好きが高じてIBM Championの認定も受けていましす。
Airitechでは、X上でマンガも掲載しています。
こちらもご覧ください。
https://x.com/AiritechSupport/status/1765633493084893569
第一幕 事件発生
あるお客様から以下の相談が寄せられました。
「10年程度、運用を続けたCRMの応答が、ベテラン社員のみ悪化して困っています。
画面遷移に5分くらいかかるようになってしまいました。」
「新人の応答速度は悪くなく、3秒程度で画面遷移します。」
「CRMの導入を行ったSIerに解析をお願いして2カ月ほと経過しましたが、
SQLが原因では無い、という経過報告だけで、まだ解決していません。」
という訳で、画面遷移に5分かかるので、大変、困ったという事でした。
確かにそれは大変だということで、Instanaを適用させてもらって、解析を始めました。
第二幕 Instanaを使って解析
Instanaでトレースを見ましたが、確かに、遅いSQLは見当たりませんでした。
トレース結果からすると、プログラムで時間がかかっている模様。
Instanaのトレース画面には以下のように表示されていました。
オレンジのSQLの部分が長ければ、インデクスを追加するとかデータを削減するとかして、そのSQLの処理時間を改善すれば良いのですが、CRM製品のプログラムとなると、ベンダに依頼するほかなく、すぐの改善は難しいですね。
ちょっと困ったなと思いつつ、さらに調査を薦めました。
第三幕 原因判明
プログラムの遅延ということで、どう解析しようかなと思いましたが、Instanaにはスレッドダンプを採取する機能があるのをここで思い出しました。
という訳で、遅い処理を実行してもらいながら、スレッドダンプを採取して、プログラムのどこで時間がかかっているのかを確認しました。
スレッドダンプで頻出する関数の名前からすると、参照履歴を処理しているように見えます。
参照履歴、、、よくWordやExcelでも目にする「最近使ったアイテム」っていうやつですね。
以前に参照した顧客情報等の履歴を保持している機能ということです。
なぜそれにこんな時間がかかるのか、、、ちょっと不思議でしたが参照履歴テーブルを覗いたところ、疑問が氷解しました。
「履歴データが大きいユーザと小さいユーザがいる!」
そうです。
画面には直近の10件くらいしか表示されていませんが、データベースにはそれこそ10年分の参照履歴が記録されていたのです。
そりゃあ、新人は速い訳だ。
ということで、参照履歴が消えても業務に支障が無いかをユーザに確認後、参照履歴の削除作業が行われました。
結果、全てのユーザの画面遷移時間が4秒程度まで短縮されました。
これにて解決です。
さいごに
いかがでしたでしょうか?
けっこう、名の通ったCRMなのですが、それでもこんな問題があるのか、と驚いた事例でした。
スレッドダンプを見るというは手法としては古いですし、スマートでもないですが、こういうテクニックも便利ですよという事ですね。
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の便利な使い方や事例の紹介を行いますので、よろしくお願いいたします。