Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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

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

何ができるの?

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

  • 複数のデータストア・インスタンスを使っている場合に、個々のインスタンスのパフォーマンス(クエリ処理時間、スループット)が見える
  • 1つのデータストア・インスタンスで複数アプリを使っていた場合に、アプリごとのパフォーマンスが確認できる
  • データストアの健全さが一目でわかるヘルスインジゲーターがついた(アプリにあったが、データストアにもこの度付いた)
  • トランザクション・トレースなので、個々のクエリを見た際に、それが、どのデータストアなのかの情報を表示するようなった

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

サービスマップページ

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

  • データストアのヘルスインジゲーター: データストアのパフォーマンスが正常化どうかを一目で確認できるようなった。アプリにはあったが、データストアにもついた。
  • 1つのデータストアで複数のアプリ、複数インスタンスを利用している際に、フィルター機能で絞りこみが行えるようなった。

service_map_db_122.png

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

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

trace_dtails_122.png

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

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

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

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

kumatronik
基本、Rails エンジニア。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした