Posted at

New Relic APM でデータストアをインスタンス単位でパフォーマンスを表示

More than 1 year has passed since last update.

アドベントカレンダー三日目。今日は、最近追加された、APM の新機能、「データストアをインスタンス単位で可視化」できる機能を紹介。

複数データベースを利用している方、複数のアプリで1つのデータベースを利用している方には、パフォーマンスが気になった場合に便利な機能だと思います。


何ができるの?

ざっくり言うと、以下ができるようなった。


  • 複数のデータストア・インスタンスを使っている場合に、個々のインスタンスのパフォーマンス(クエリ処理時間、スループット)が見える

  • 1つのデータストア・インスタンスで複数アプリを使っていた場合に、アプリごとのパフォーマンスが確認できる

  • データストアの健全さが一目でわかるヘルスインジゲーターがついた(アプリにあったが、データストアにもこの度付いた)

  • トランザクション・トレースなので、個々のクエリを見た際に、それが、どのデータストアなのかの情報を表示するようなった

もぅちょっと個々を詳細に説明します。


サービスマップページ

※ サービスマップは、APM が管理しているアプリのアーキテクチャを自動的に視覚化するページ。


  • データストアのヘルスインジゲーター: データストアのパフォーマンスが正常化どうかを一目で確認できるようなった。アプリにはあったが、データストアにもついた。

  • 1つのデータストアで複数のアプリ、複数インスタンスを利用している際に、フィルター機能で絞りこみが行えるようなった。


トランザクション・トレース ページと スロークエリ・トレース ページ


  • トランザクション・トレースページの Trace details タブや Database queries タブでクエリと一緒にデータベース名とインスタン情報が表示される。


インスタンス単位でアラートの設定ができる

New Relic Alerts のアラート条件で、custom metric に以下のように指定することで、インスタンス単位でレスポンスタイムやスループットのパフォーマンスが低下した際に、アラート通知の設定ができる。

Datastore/instance/vendor/host/port


使う条件は?

この機能に必要な情報を収集する APM エージェントのバージョンを使っている必要があります。またデータベース・ドライバにも依存するので、詳しくは、「互換性と要件(日本語)」に書いてあるのでそちらをチェック。

ここでは、簡単に APM エージェントのバージョンのみ書いておきます。


  • Ruby: 3.17.0 以上 (1.4 は、2016/10/18 リリース)

  • PHP: 6.8 以上 (6.8 は、2016/11/9 リリース)

  • Java: 3.33.0 以上 (3.33.0 は、2016/11/2 リリース)

  • .NET: 未対応

  • Python: 2.72.0.52 以上 (3.33.0 は、2016/10/18 リリース)

  • Go: 1.4 以上 (1.4 は、2016/10/12 リリース)

  • Node.js: 1.31.0 以上 (1.31.0 は、2016/10/12 リリース)

メモ: 現在、自身が使用バージョンが気になる場合は、New Relic にログインし、APM > (アプリを選択) > 左サブメニューの一番下の方の Environment > `Environment snapsho' タブの左に、サーバーごとにインストールしているエージェントバージョンが表示されるので、それをチェック。


誰が使えるの?

この機能は、有料版のみの提供。つまり、Essentials と Pro をお使いの方が対象。

また、サービスマップ上でのデータストアのインスタンスの可視化機能は、PRO のみの提供。


まとめ

以上、いかがでしたでしょうか? 複数データベースを利用している方、複数のアプリで1つのデータベースを利用している方には、パフォーマンスが気になった場合に便利な機能かと思います。

あわせて読みたい: もっと詳細に知りたい方は以下が参考になります。

- ブログ記事:[翻訳] New Relic APM を使って個々のインスタンスにまで深掘りしてデータベースのパフォーマンスを監視、トラブルシューティングする

- ドキュメント:データベースとインスタンスレベルのパフォーマンス問題の分析(日本語)

このように、APM は日々進化していますので、ちょいちょいリリースノートをチェックしてみると、思わぬ新機能が使えるようなっていることがあります。

この機会に是非、最新版にバージョンアップしてみてください。

この機能以外に今年追加された機能なんかは別の日に解説しまーす。