診断ルール紹介 Part 1
Acroquest Technology 株式会社
1. は、Javaプログラムの診断+監
視ツールです。
2. 本資料では、 が持つ診断ルール
のうち、特に、「すぐに役立つ3つのルール」を紹
介します。
3. に関する情報および媒体は、以下
のサイトから入手可能です。
ぜひ、お試しください。
...
目次
1. メモリリークしていたら…
2. SQLでフルスキャンが発生していたら…
3. HashMapを同期化せずに使っていたら…
おまけ
1. SQLの実行計画が見たかったら…
2. 長期間のリソース変動を見たかったら…
3
Copyrig...
1. メモリリークしていたら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4
ENdoSnipeはCollectionの要素数を監視しており、
閾値の正数倍を...
1. メモリリークしていたら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
5
一時的なオブジェクト量の増加か、
継続的な増加か、グラフを見れば一目瞭然!
1回...
1. メモリリークしていたら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
6
詳細画面でスタックトレースを確認すれば、
被疑箇所もすぐに判明。
HashMap...
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の処理時間や実行計画のコストをもとに
修正の要...
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ではなく、ConcurrentHashMa...
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
12
【おまけ】
1. SQLの実行計画が見たかったら…
SQLの実行計画が見たい場合は、以下の手順で。
まず、ツリ...
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
13
【おまけ】
1. SQLの実行計画が見たかったら…
続いてPlanタブを選択すると、
1. クエリ(整形済み)...
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
14
【おまけ】
2. 長期間のリソース変動状況を見たかったら…
しばし待つと、一覧に出現
ダウンロード!
レポート...
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
15
【おまけ】
2. 長期間のリソース変動状況を見たかったら…
0
100000000
200000000
300...
16
20132013 20142014
• PerformanceDoctor移植
• レポート出力機能移植
• Hadoop/HBase監視
• Linux監視
• Apache監視
• PostgreSQL/MySQL監視
• PHP/P...
お問い合わせはこちらへ
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
17
Infrastructures Evolution
連絡先
Acroquest Tec...
Upcoming SlideShare
Loading in …5
×

ENdoSnipe 診断ルール紹介 part 1

2,789 views

Published on

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

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,789
On SlideShare
0
From Embeds
0
Number of Embeds
1,724
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

ENdoSnipe 診断ルール紹介 part 1

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

×