BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Plumbrにスロークエリ検出機能が追加

Plumbrにスロークエリ検出機能が追加

原文(投稿日:2015/06/15)へのリンク

JVM監視ベンダのPlumbrは,同社のフラッグシッププロダクトにスロークエリ検出機能を追加した。これによってPlumbrは,4種類の問題を検出可能なことになる。

  • メモリリーク
  • 不効率なガベージコレクション
  • スレッドロック
  • 負荷の高いJDBC操作

同社でプロジェクトマネージャを務めるIvo Mägi氏は,自身のブログで次のように述べている。

今回ローンチされたソリューションでは,取得した必要な情報すべてを同一ページに配置することで,運用担当者と開発者を支援します。負荷の大きなJDBCオペレーションは,すべてPlumbrが監視します。ツールを使って影響分析を行い,別のデータベース監視ツールで問題のあるクエリを見つけ出し,手作業でその操作の構成と実行をしているJavaコードを調べる,という手順を踏む必要はもうありません。

Plumbrではこれらすべての情報が監視され,次のスクリーンショットのように集約されます。この例ではPlumbrが次のことを行っています。

  • スレッドを約9秒間ブロックしている,負荷の高いJDBC操作を検出しました。
  • これが周期的な問題であることを確認しました (ほぼ同じオペレーションが全体で127回発生し,合計で23分31秒間の停止時間を発生させている)。
  • まったく同じSQLクエリの実行時に,待ち時間が発生していることを確認しました。

Monitor for Slow JDBC Statements screenshot

上のようなJDBCの速度低下の根本原因を見つける上で,Plumbrは核心的な情報を提供してくれる。詳しく見れば,問題の原因は74行のJpaProblemHistoryDao.findAccountProblems()が呼び出しているPrepared Statementにあることが分かる。

Root cause for expensive query

この新機能をテストするために,300社を越える企業の大規模なデータサンプルを対象として,5週間にわたるプライベートベータ解析を行ったと,同社では述べている。

Plumbr JDBC MonitoringはOracle, MySQL, Postgres, MS SQL Serverに対応する。IBM DB2とSQLiteのサポートは数ヶ月以内にリリースされる予定だ。将来的にはNoSQLデータベースのサポートを追加する予定もある。

InfoQはPlumbrの製品開発責任者であるIvo Mägi氏(同社の共同創業者)に話を聞いた。

InfoQ: PlumbrはCloud FoundryやHerokuのような,クラウド上のインストールでも使用できるのでしょうか?

Java Agentをサポートしていれば,どのクラウドプロバイダでも使用可能です。 Java AgentはJVMでバイトコードを計測するための標準的なアプローチで,監視ツールがアプリケーションの状態を確認する手段としてよく利用されます。

InfoQ: いくつかのアプリケーションやインスタンスを同時に監視して(例えばマイクロサービス環境で),その結果を集計することは可能ですか?

同一アプリケーションの複数のインスタンスを監視することも,もちろん可能です。検出された問題を根本原因に基づいて集約することで,影響分析をよりスムーズに行うことができます。

InfoQ: パフォーマンス計測の分野にはたくさんの競合製品がありますが,そういった集団からの差別化はどのようにしていますか?

大きな違いは,障害の発生したサービスと根本原因を自動的にリンクできることです。状況を表層的に捉えられる競合ツールはたくさんありますが,その原因となったソースコードの1行を特定できることが,私たちのツールの大きな特徴です。

InfoQ: 今後の展開について教えてください。

負荷の大きなJDBC操作の検出に向けて,長い道程を一歩踏み出したところです。最終的にPlumbrは,パフォーマンス上のすべての問題について,根本原因に関連する情報を提供できるようになります。Plumbrでアプリケーションを監視することによって,パフォーマンスインシデントに対するMTTR(Mean Time to Resolution/平均解消時間)の大幅に削減できます。

この記事に星をつける

おすすめ度
スタイル

BT