狠狠撸
Submit Search
笔辞蝉迟驳谤别蝉辩濒安定运用のご提案
?
Download as PPTX, PDF
?
0 likes
?
191 views
拓也 岸本
Follow
toward to safe database w/pgbadger
Read less
Read more
1 of 15
Download now
Download to read offline
More Related Content
笔辞蝉迟驳谤别蝉辩濒安定运用のご提案
1.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. PostgreSQL安定運用のご提案 コンサルティング事業部
2.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. PostgreSQLで起こる問題 起こる問題 ? 性能障害 ? 領域障害 ? データベース異常(データ破損等による) システム監視を行っていない場合の問題 ? 対策の遅れによるダウンタイムの増加 ? 場当たり的な対応しかできない ? 的確な判断ができない
3.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. 安定運用に必要なこと システム監視を行っていれば ? 障害によるダウンタイムを最小に抑えることができる ? システムの問題を予測し未然に対処することができる ? ハードウェア投資の適切な判断ができる 監視ツール OS情報 : オープンソースのZabbixなど ? 領域障害 → Zabbix : 容量監視 ? データベース異常 → Zabbix : ログ監視、プロセス監視 ? 性能障害 → Zabbix : CPU使用率、使用メモリ、DiskI/Oの稼働状況 ただし、OS上の情報だけでは、PostgreSQLの性能障害までは対処できない。
4.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. 安定運用に必要なこと システム監視を行っていれば ? 障害によるダウンタイムを最小に抑えることができる ? システムの問題を予測し未然に対処することができる ? ハードウェア投資の適切な判断ができる 監視ツール OS情報 : オープンソースのZabbixなど DB情報 : pgBadger ? 領域障害 → Zabbix : 容量監視 ? データベース異常 → Zabbix : ログ監視、プロセス監視 ? 性能障害 → Zabbix : CPU使用率、使用メモリ、DiskI/Oの稼働状況 pgBadger : DBの稼働状況 OSだけでなく、DBの稼働状況も監視することで、安定運用が可能になる
5.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. 解析情報取得 pgBadgerとは、PostgreSQLのログファイルから、詳細なレポートを得るためのログアナライザです。 (Badger(バジャー)とは英語でアナグマのこと。fouine, pgFouine(ログ解析ツール)もイタチ科の動物が由来) pgBadgerで解析PostgreSQL のログファイル (ex. postgresql-2017-12-10_040000.log) 性能障害(pgBadgerで解決!) 性能分析ツール導入時のよくある問題点 ?初期設定が難しく、手間がかかる ?追加で何かをインストールした場合の影響が不安 設定(お客様環境)が簡単 PostgreSQLのログ出力設定のみ (追加で何かをインストールする必要なし) ログの解析は別端末で可能 pgBadgerによるログの解析は別端末で実施可能 pgBadgerの場合 ログ分析の問題点 PostgreSQLでは1ログファイルにスロークエリやその 他、エラー、稼働情報等が出力される → 情報の集計、解析に時間と手間がかかる 迅速に問題を特定し、障害によるダウンタイムを最小化 ①PostgreSQLのログを静的なHTML形式ファイルに変換 ②SQLを負荷の高い順にランキング表示 ③条件が異なるだけのSQLを1つのSQLとして集計 ④時系列に問題のクエリを特定
6.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. 取得可能な稼働情報 大項目 小項目 出力形式 単位 クエリ情報 合計実行回数 タイムチャート クエリ 最多実行回数 タイムチャート クエリ 合計実行時間 タイムチャート クエリ 最長実行時間 タイムチャート クエリ 使用状況 コネクション数 タイムチャート 合計、データベース別、ユーザ別、接続元IP別 セッション数 タイムチャート 合計、データベース別、ユーザ別、接続元IP別、アプリケーション別 チェックポイント情報 タイムチャート buffers, file数 一時ファイル使用状況 タイムチャート size, file数 バキューム関連情報 バキューム実行数 タイムチャート 回数、テーブル別 自動バキューム実行数 タイムチャート 回数、テーブル別 ロック 最多待ち回数とクエリ 一覧 クエリ 最長待ち時間とクエリ 一覧 クエリ 合計ロック数 ロック種別割合 円グラフ 回数 ログの出力状況 各ログ種別の出力割合 円グラフ ログ種別 各イベントレベルの出力数 タイムチャート、イベント一覧 イベントレベル(PANIC,FATAILE,ERROR,WARNING) 性能障害(pgBadgerで解決!)
7.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. pgBadgerの機能(タイムチャート) 稼働状況を可視化して システムの傾向をつかむ クエリ実行数が多い 実行時間の長いクエリが多い I/O状況
8.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. pgBadgerの機能(問題のクエリ) 改善の必要があるクエリを特定 ? クエリ実行時間のヒストグラム ? 合計実行時間(実行時間×実行回数)の長いクエリ ? 遅延SQL TopN(Normalized ※1) ? 遅延SQL TopN(個別) ワーストクエリを確認後、時系列で分析 ※1 Normalized : 条件が異なるだけのSQLを1つのSQLとして集計
9.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. pgBadgerの利用イメージ 利用ケース 特定時間帯の処理が遅くてクレームが入る 1. OS状況確認 CPU使用率 ディスクI/O(レスポンス) メモリ使用状況 ディスクI/O,メモリは問題ないが CPUの使用率が高い時間帯がある
10.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. pgBadgerの利用イメージ2 ①クエリ実行数は増加しているわけではない ②合計実行時間の長いSQL確認 ③時系列でクエリの実行状況を確認 問題のクエリをEXPLANコマンドで解析 原因 バッファキャッシュに対するIOが多いためCPU負荷が高い チューニング案 インデックスの作成 インデックスを使用するようにクエリの書き換え 2. pgBadgerでドリルダウン
11.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. ITIで提供可能なサービス ?リモート分析サービス ?SQLチューニング支援
12.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. リモート分析サービスのメリット ツール利用時のよくある問題点 専門のエンジニアがいないので 問題は分かったがどう対処すればいいかが分からない SQLチューニングの知識があまりない ツール利用時のよくある問題 メモリ I/O CPU クエリ ロック ? ? ? ?何をチューニングする? ?チューニングの優先順位は??ツールでシステムの状況は把握 でも リモート分析サービスなら ①専門エンジニアとpgBadgerの情報により、素早い対応が可能 ②PostgreSQLのログを弊社に送付頂くことでリモートでの問題解析が可能 ③原則リモートサイトでの対応なのでスピードとコスト削減を両立 DB 使用状況
13.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. リモートで分析の場合 ②ログを圧縮 リモート分析の流れ PostgreSQLのログ取得から、分析結果を報告するまでの流れは下記の通りです。 ~弊社環境~ ⑤pgBadgerでデータ分析 ④データを弊社環境に展開 ~お客様環境~ ログ取得設定によりPostgreSQLのログが自動出力 ※設定項目は次ページ参照 ①ログ取得 ⑥問題分析結果のご報告 圧縮ファイル ローカルで分析の場合 ②ログをpgBadgerで解析 ③メールなどにより弊社へデータ送付 圧縮ファイル DB専門エンジニアが オンサイト作業なしに分析!! ローカルで、必要な時 に参照する事も可能
14.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. Appendix(potgresql.conf設定) pgBadgerでのログ分析を行うため、「postgresql.conf」に下記の設定が必要です。 設定後は下記のコマンドで設定内容を再読み込みさせます。 service postgresql reload ※「logging_collector」の変更の反映するにはDBの再起動が必要です 設定値 説明 設定時のOS再起動の必要の有無 logging_collector = on 標準エラー(stderr)またはCSV書式のログ出力に送られるメッ セージを取り出し、ログファイルにリダイレクトするか否かを on/offで設定 必要 log_min_duration_statement = 3s クエリの実行時間が指定した時間以上であったら、クエリのテ キストと実行時間をログに残す 閾値は要検討 superuser log_line_prefix ログメッセージの頭につける情報 #設定例 log_line_prefix = '%t [%p]: [%l-1] user=%u, db=%d' #使用可能値 %t = タイムスタンプ(ミリ秒単位はなし) %p = プロセスID %l = セッション行番号 %u = ユーザ名 %d = データベース名 user, db の指定は任意 sighup log_lock_waits = on deadlock_timeout で指定した時間(デフォルト1秒)以上の ロック待ちをログに残す superuser log_disconnections = on クライアントの切断をログに残す backend log_connections = on クライアントの接続をログに残す backend log_checkpoints = on チェックポイントの実行をログに残す sighup lc_messages = 'C' ログの言語は英語限定 superuser log_temp_files = 0 一時ファイルが作成されたことをログに残す(0はすべて) superuser
15.
* 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright
2017 Insight Technology, Inc. All Rights Reserved. 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2017 Insight Technology, Inc. All Rights Reserved.
Download