Postgres Toolkitのご紹介

9

Click here to load reader

Transcript of Postgres Toolkitのご紹介

Page 1: Postgres Toolkitのご紹介

Copyright 2015 Uptime Technologies, LLC. All rights reserved. 1

Postgres Toolkitのご紹介

アップタイム・テクノロジーズ永安 悟史

2015/5/30PostgreSQLアンカンファレンス@東京

Page 2: Postgres Toolkitのご紹介

「Postgres Toolkit」とは?

• PostgreSQLのサーバを運⽤・管理するためのスクリプト・ツールのコレクション

• 複数のSQLやコマンドを組み合わせて実施する作業を、ひとつのスクリプトで実⾏できるようにしたもの

• PostgreSQL DBAの業務の品質向上や負荷低減を⽬的として、頻繁に実施する作業にフォーカスして機能提供

• オープンソースライセンスで提供(GPLv2)

Copyright 2015 Uptime Technologies, LLC. All rights reserved. 2

Page 3: Postgres Toolkitのご紹介

Postgres Toolkit 0.2

• 2015年5⽉にリリース– 13個のスクリプトで構成

• 対応プラットフォーム/バージョン– Red Hat Enterprise Linux 6 / CentOS 6– PostgreSQL 9.0〜9.4

• ソースコード– https://github.com/uptimejp/postgres-toolkit

• ドキュメント(英/⽇)– http://postgres-toolkit.readthedocs.org/– http://postgres-toolkit-ja.readthedocs.org/

Copyright 2015 Uptime Technologies, LLC. All rights reserved. 3

Page 4: Postgres Toolkitのご紹介

導⼊⽅法

Copyright 2015 Uptime Technologies, LLC. All rights reserved. 4

[root@devvm04 ~]# curl ‐L http://dl.uptimeforce.com/postgres‐toolkit/install.sh | sh% Total    % Received % Xferd Average Speed   Time    Time Time Current

Dload Upload   Total   Spent    Left  Speed140   280  140   280    0     0    550      0 ‐‐:‐‐:‐‐ ‐‐:‐‐:‐‐ ‐‐:‐‐:‐‐ 5833

% Total    % Received % Xferd Average Speed   Time    Time Time CurrentDload Upload   Total   Spent    Left  Speed

100  275k  100  275k    0     0   307k      0 ‐‐:‐‐:‐‐ ‐‐:‐‐:‐‐ ‐‐:‐‐:‐‐ 486kopt/uptime/postgres‐toolkit‐0.2/opt/uptime/postgres‐toolkit‐0.2/bin/opt/uptime/postgres‐toolkit‐0.2/bin/pt‐configopt/uptime/postgres‐toolkit‐0.2/bin/pt‐snap‐statementsopt/uptime/postgres‐toolkit‐0.2/bin/pt‐proc‐stat(...snip...)opt/uptime/postgres‐toolkit‐0.2/lib/DirectoryTree.pycopt/uptime/postgres‐toolkit‐0.2/lib/TcpdumpWrapper.pyopt/uptime/postgres‐toolkit‐0.2/LICENSE[root@devvm04 ~]# ls /opt/uptime/postgres‐toolkit‐0.2/LICENSE  bin  docs  lib  share  src[root@devvm04 ~]# ls /opt/uptime/postgres‐toolkit‐0.2/bin/pt‐config pt‐replication‐stat  pt‐stat‐snapshot     pt‐xact‐statpt‐index‐usage  pt‐session‐profiler  pt‐table‐usage       verifychecksum.binpt‐kill         pt‐set‐tablespace pt‐tablespace‐usagept‐proc‐stat    pt‐snap‐statements   pt‐verify‐checksum[root@devvm04 ~]#

http://postgres-toolkit-ja.readthedocs.org/ja/latest/install.html#id2

Page 5: Postgres Toolkitのご紹介

コマンド⼀覧コマンド 機能概要

pt-config PostgreSQLの設定ファイル postgresql.conf の各パラメータを、エディタなどを開かずに取得、または設定することができます。

pt-index-usage インデックスのサイズ、アクセス統計情報、VACUUM/ANALYZE時刻、テーブルスペース名などを⼀覧で表⽰します。

pt-kill バックエンドで実⾏中のクエリをキャンセル、またはバックエンドを終了させるためのシグナルをバックエンドプロセスに安全に送ります。

pt-proc-stat PostgreSQLのインスタンスを構成している各プロセスのディスクI/O、ネットワークI/Oなどの統計情報を、プロセスごとに表⽰します。

pt-replication-stat レプリケーションを構成する、マスタ、スレーブのステータスと統計情報を表⽰します。

pt-session-profiler ネットワークトラフィックをキャプチャし、解析することで、指定した閾値以上の実⾏時間がかかっているクエリを抽出・表⽰します。

pt-set-tablespace 複数のテーブルや関連するインデックスのテーブルスペースを⼀括して変更します。また、利⽤可能なテーブルスペースをディスクパーティションの空き容量とともに表⽰します。

pt-snap-statements ⼀定の時間に実⾏されたSQLを集計して統計情報を表⽰します。

pt-stat-snapshot PostgreSQL内部の各種統計情報のスナップショットを⼀括して取得、管理します。

pt-table-usage テーブルのサイズ、アクセス統計情報、最終VACUUM/ANALYZE時刻、テーブルスペース名などを⼀覧で表⽰します。

pt-tablespace-usage テーブルスペースの利⽤状況とサイズをデータベースごとに集計して表⽰します。

pt-verify-checksum データベースクラスタ内のテーブル、インデックスファイルなどのチェックサムを⼀括して検証します。(9.3以降対応)

pt-xact-stat 複数のPostgreSQLインスタンスのセッション数、トランザクション数などの統計情報を⼀括して取得・表⽰します。

Copyright 2015 Uptime Technologies, LLC. All rights reserved. 5

Page 6: Postgres Toolkitのご紹介

デモ

• pt-table-usage / pt-index-usage

• pt-session-profiler

• pt-snap-statements

• pt-verify-checksum

Copyright 2015 Uptime Technologies, LLC. All rights reserved. 6

Page 7: Postgres Toolkitのご紹介

今後の予定

• 対応プラットフォームの拡充– Red Hat Enterprise Linux 7 / CentOS 7– Ubuntu 14.04 LTS

• 機能の拡充– 各種スクリプトの追加– レプリケーション関連機能への対応

• 品質の強化– テストの拡充

Copyright 2015 Uptime Technologies, LLC. All rights reserved. 7

Page 8: Postgres Toolkitのご紹介

参考資料• Postgres Toolkit ― Postgres Toolkit 0.2 ドキュメント

http://postgres-toolkit-ja.readthedocs.org/

• PostgreSQL Deep Dive: Postgres Toolkit 0.2をリリースしましたhttp://pgsqldeepdive.blogspot.jp/2015/05/postgres-toolkit.html

• uptimejp/postgres-toolkit (Github)https://github.com/uptimejp/postgres-toolkit/

Copyright 2015 Uptime Technologies, LLC. All rights reserved. 8

Page 9: Postgres Toolkitのご紹介

Q&A

Copyright 2015 Uptime Technologies, LLC. All rights reserved. 9

コメント、お問い合わせ等

永安 悟史[email protected]