17
診断ルール紹介 Part 1 Acroquest Technology 株式会社

ENdoSnipe 診断ルール紹介 part 1

Embed Size (px)

DESCRIPTION

ENdoSnipeの診断ルールのうち、以下の3つを紹介しています。 1.メモリリーク検出ルール 2.テーブルフルスキャン検出ルール 3.HashMapへの複数スレッド同時アクセス検出ルール

Citation preview

Page 1: ENdoSnipe 診断ルール紹介 part 1

診断ルール紹介 Part 1

Acroquest Technology 株式会社

Page 2: ENdoSnipe 診断ルール紹介 part 1

1. は、Javaプログラムの診断+監視ツールです。

2. 本資料では、 が持つ診断ルールのうち、特に、「すぐに役立つ3つのルール」を紹介します。

3. に関する情報および媒体は、以下のサイトから入手可能です。ぜひ、お試しください。I. http://www.endosnipe.com/II. http://github.com/endosnipe/ENdoSnipe

はじめに

2Copyright © Acroquest Technology Co., Ltd. All rights reserved.

Page 3: ENdoSnipe 診断ルール紹介 part 1

目次

1. メモリリークしていたら…2. SQLでフルスキャンが発生していたら…3. HashMapを同期化せずに使っていたら…

おまけ

1. SQLの実行計画が見たかったら…2. 長期間のリソース変動を見たかったら…

3Copyright © Acroquest Technology Co., Ltd. All rights reserved.

Page 4: ENdoSnipe 診断ルール紹介 part 1

1. メモリリークしていたら…

Copyright © Acroquest Technology Co., Ltd. All rights reserved.4

ENdoSnipeはCollectionの要素数を監視しており、閾値の正数倍を超えた時に、警告を出します。

同一ID(ここでは11101e36)のリーク検出が連続したら、ほぼ確実にメモリリーク!

Page 5: ENdoSnipe 診断ルール紹介 part 1

1. メモリリークしていたら…

Copyright © Acroquest Technology Co., Ltd. All rights reserved.5

一時的なオブジェクト量の増加か、継続的な増加か、グラフを見れば一目瞭然!

1回目の検出点

2回目の検出点

3回目の検出点

Page 6: ENdoSnipe 診断ルール紹介 part 1

1. メモリリークしていたら…

Copyright © Acroquest Technology Co., Ltd. All rights reserved.6

詳細画面でスタックトレースを確認すれば、被疑箇所もすぐに判明。

HashMapに要素を追加しているEmployeeLogicImpl.javaの716行目を調べよう!

Page 7: ENdoSnipe 診断ルール紹介 part 1

2. SQLでフルスキャンが発生していたら・・・

Copyright © Acroquest Technology Co., Ltd. All rights reserved.7

Performance Doctorのリストに「フルスキャン」の文字が・・・

Page 8: ENdoSnipe 診断ルール紹介 part 1

2. SQLでフルスキャンが発生していたら・・・

Copyright © Acroquest Technology Co., Ltd. All rights reserved.8

詳細画面でSQLの処理時間や実行計画のコストをもとに修正の要・不要を判断します。

「実行時間が長いSQLのみ実行計画を取得する」という設定も可能。遅いSQLを集中的に解析する事ができます。

Page 9: ENdoSnipe 診断ルール紹介 part 1

2. SQLでフルスキャンが発生していたら・・・

Copyright © Acroquest Technology Co., Ltd. All rights reserved.9

スタックトレースも出るので、修正個所もすぐに分かります。

Page 10: ENdoSnipe 診断ルール紹介 part 1

3. HashMapを同期化せずに使っていたら・・・

Copyright © Acroquest Technology Co., Ltd. All rights reserved.10

このメッセージが出たら要注意。特に、ERRORレベルならば、ほぼ確実に「身の破滅」です。

放置しておくと・・・(次頁へ)

Page 11: ENdoSnipe 診断ルール紹介 part 1

3. HashMapを同期化せずに使っていたら・・・

Copyright © Acroquest Technology Co., Ltd. All rights reserved.11

HashMapではなく、ConcurrentHashMapを使いましょう。仕組みを知りたい人はこちらでどうぞ。http://www.atmarkit.co.jp/fjava/rensai4/troublehacks10/troublehacks10_1.html

システムはフリーズ。CPUは100%。

絶対下がらない。

Page 12: ENdoSnipe 診断ルール紹介 part 1

Copyright © Acroquest Technology Co., Ltd. All rights reserved.12

【おまけ】

1. SQLの実行計画が見たかったら…

SQLの実行計画が見たい場合は、以下の手順で。

まず、ツリー上のSQLノードを選択します。

SQLの実行回数や応答時間の変化が確認できます。これだけでもかなり便利!

Page 13: ENdoSnipe 診断ルール紹介 part 1

Copyright © Acroquest Technology Co., Ltd. All rights reserved.13

【おまけ】

1. SQLの実行計画が見たかったら…

続いてPlanタブを選択すると、1. クエリ(整形済み)

2. 実行計画

3. スタックトレース

が確認できます。便利!

Page 14: ENdoSnipe 診断ルール紹介 part 1

Copyright © Acroquest Technology Co., Ltd. All rights reserved.14

【おまけ】

2. 長期間のリソース変動状況を見たかったら…

しばし待つと、一覧に出現ダウンロード!

レポート機能を使いましょう。対象のリソースと期間を入力。

Page 15: ENdoSnipe 診断ルール紹介 part 1

Copyright © Acroquest Technology Co., Ltd. All rights reserved.15

【おまけ】

2. 長期間のリソース変動状況を見たかったら…

0

100000000

200000000

300000000

400000000

500000000

600000000

2013/09/19

20:00:01

2013/09/19

20:18:01

2013/09/19

20:36:01

2013/09/19

20:54:01

2013/09/19

21:12:01

2013/09/19

21:30:01

2013/09/19

21:48:10

2013/09/19

22:06:10

2013/09/19

22:24:07

2013/09/19

22:42:11

Max Minimum Average

開くとリソースの変動グラフが出てきます。Zipファイルに含まれるExcelファイルを開くとリソースの変動グラフが出てきます。

Page 16: ENdoSnipe 診断ルール紹介 part 1

16

20132013 20142014

• PerformanceDoctor移植

• レポート出力機能移植

• Hadoop/HBase監視

• Linux監視

• Apache監視

• PostgreSQL/MySQL監視

• PHP/Python/Ruby監視

Ver. 5

• ArrowVision移植

• BottleneckEye移植

• Linux監視強化

• Apache監視強化

• PostgreSQL/MySQL監視強化

• PHP/Python/Ruby監視強化

Ver. 7

監視対象を大幅に拡大。運用環境の性能監視にも対応。

• 異常値検出

• システムマップ

• AWS対応

• バックエンドDBMS追加(SQLite)

Ver. 6

異常値検出等、APM機能を拡充予定。設定不要ですぐに診断・監視を開始できます。

監視機能を拡張予定。

【おまけ】

3. ロードマップ

Page 17: ENdoSnipe 診断ルール紹介 part 1

お問い合わせはこちらへ

Copyright © Acroquest Technology Co., Ltd. All rights reserved.17

Infrastructures Evolution

連絡先

Acroquest Technology株式会社TEL :045-476-3171 E-Mail:[email protected]