Upload
endosnipe
View
2.167
Download
3
Embed Size (px)
DESCRIPTION
ENdoSnipeの診断ルールのうち、以下の3つを紹介しています。 1.メモリリーク検出ルール 2.テーブルフルスキャン検出ルール 3.HashMapへの複数スレッド同時アクセス検出ルール
Citation preview
診断ルール紹介 Part 1
Acroquest Technology 株式会社
1. は、Javaプログラムの診断+監視ツールです。
2. 本資料では、 が持つ診断ルールのうち、特に、「すぐに役立つ3つのルール」を紹介します。
3. に関する情報および媒体は、以下のサイトから入手可能です。ぜひ、お試しください。I. http://www.endosnipe.com/II. http://github.com/endosnipe/ENdoSnipe
はじめに
2Copyright © Acroquest Technology Co., Ltd. All rights reserved.
目次
1. メモリリークしていたら…2. SQLでフルスキャンが発生していたら…3. HashMapを同期化せずに使っていたら…
おまけ
1. SQLの実行計画が見たかったら…2. 長期間のリソース変動を見たかったら…
3Copyright © Acroquest Technology Co., Ltd. All rights reserved.
1. メモリリークしていたら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.4
ENdoSnipeはCollectionの要素数を監視しており、閾値の正数倍を超えた時に、警告を出します。
同一ID(ここでは11101e36)のリーク検出が連続したら、ほぼ確実にメモリリーク!
1. メモリリークしていたら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.5
一時的なオブジェクト量の増加か、継続的な増加か、グラフを見れば一目瞭然!
1回目の検出点
2回目の検出点
3回目の検出点
1. メモリリークしていたら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.6
詳細画面でスタックトレースを確認すれば、被疑箇所もすぐに判明。
HashMapに要素を追加しているEmployeeLogicImpl.javaの716行目を調べよう!
2. SQLでフルスキャンが発生していたら・・・
Copyright © Acroquest Technology Co., Ltd. All rights reserved.7
Performance Doctorのリストに「フルスキャン」の文字が・・・
2. SQLでフルスキャンが発生していたら・・・
Copyright © Acroquest Technology Co., Ltd. All rights reserved.8
詳細画面でSQLの処理時間や実行計画のコストをもとに修正の要・不要を判断します。
「実行時間が長いSQLのみ実行計画を取得する」という設定も可能。遅いSQLを集中的に解析する事ができます。
2. SQLでフルスキャンが発生していたら・・・
Copyright © Acroquest Technology Co., Ltd. All rights reserved.9
スタックトレースも出るので、修正個所もすぐに分かります。
3. HashMapを同期化せずに使っていたら・・・
Copyright © Acroquest Technology Co., Ltd. All rights reserved.10
このメッセージが出たら要注意。特に、ERRORレベルならば、ほぼ確実に「身の破滅」です。
放置しておくと・・・(次頁へ)
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%。
絶対下がらない。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.12
【おまけ】
1. SQLの実行計画が見たかったら…
SQLの実行計画が見たい場合は、以下の手順で。
まず、ツリー上のSQLノードを選択します。
SQLの実行回数や応答時間の変化が確認できます。これだけでもかなり便利!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.13
【おまけ】
1. SQLの実行計画が見たかったら…
続いてPlanタブを選択すると、1. クエリ(整形済み)
2. 実行計画
3. スタックトレース
が確認できます。便利!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.14
【おまけ】
2. 長期間のリソース変動状況を見たかったら…
しばし待つと、一覧に出現ダウンロード!
レポート機能を使いましょう。対象のリソースと期間を入力。
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ファイルを開くとリソースの変動グラフが出てきます。
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. ロードマップ
お問い合わせはこちらへ
Copyright © Acroquest Technology Co., Ltd. All rights reserved.17
Infrastructures Evolution
連絡先
Acroquest Technology株式会社TEL :045-476-3171 E-Mail:[email protected]