PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sử dụng Bộ công cụ Percona pt-pg-Summary cho PostgreSQL

Bộ công cụ Percona là một sản phẩm mã nguồn mở, miễn phí và mạnh mẽ do Percona phát triển. Nó là một tập hợp các công cụ dòng lệnh cho phép bạn thực hiện các tác vụ MySQL, MongoDB, PostgreSQL và hệ thống khác nhau nói chung là quá phức tạp để thực hiện thủ công. Nó hỗ trợ Máy chủ Percona cho MySQL, MySQL, MariaDB, PostgreSQL, Máy chủ Percona cho MongoDB và MongoDB.

Trong blog này, chúng tôi sẽ hướng dẫn bạn cách cài đặt Bộ công cụ Percona và cách sử dụng một công cụ mới được bổ sung gần đây trong gói Bộ công cụ Percona có tên là pt-pg-Summary.

Cài đặt Bộ công cụ Percona

Trước tiên, hãy xem cách cài đặt Bộ công cụ Percona để có thể sử dụng pt-pg-Summary. Trong trường hợp này, chúng tôi sẽ sử dụng CentOS 7 và PostgreSQL 12.

Cài đặt Kho lưu trữ Percona:

$ yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

Sau khi cài đặt kho lưu trữ, bạn sẽ có thể cài đặt gói percona-toolkit:

$ yum install percona-toolkit

Bây giờ bạn chỉ cần chạy nó bằng các tham số chính xác.

$ pt-pg-summary --help

usage: pt-pg-summary [<flags>]

Percona Toolkit - PostgreSQL Summary

Flags:

      --help                     Show context-sensitive help (also try --help-long and --help-man).

      --version                  Show application version.

      --databases=DATABASES ...  Summarize this comma-separated list of databases. All if not specified

  -h, --host=HOST                Host to connect to

  -W, --password=PASSWORD        Password to use when connecting

  -p, --port=PORT                Port number to use for connection

      --sleep=10                 Seconds to sleep when gathering status counters

  -U, --username=USERNAME        User for login if not current user

      --disable-ssl              Diable SSL for the connection

      --verbose                  Show verbose log

      --debug                    Show debug information in the logs

Chạy Bộ công cụ Percona

Khi chạy công cụ này, bạn sẽ thấy một kết quả được nhóm theo các danh mục sau:

  • Cổng cơ sở dữ liệu và Data_Directory
  • Danh sách các không gian bảng
  • Nô lệ và tụt hậu với Master
  • Thông tin cụm
  • Cơ sở dữ liệu
  • Tỷ lệ truy cập vào bộ nhớ đệm lập chỉ mục
  • Tỷ lệ truy cập vào bộ nhớ cache của bảng
  • Danh sách Wait_events cho toàn bộ Cụm - tất cả cơ sở dữ liệu
  • Danh sách người dùng và client_addr hoặc client_hostname được kết nối với --all-databases
  • Các bộ đếm khác nhau sau 10 giây
  • Quyền truy cập bảng trên mỗi cơ sở dữ liệu
  • Cài đặt phiên bản
  • Xử lý lệnh khởi động

Vì vậy, hãy chạy nó trên phiên bản PostgreSQL để xem ví dụ:

$ pt-pg-summary -hlocalhost -p5432 -Uadmindb

Hành động đầu tiên là thu thập thông tin từ máy chủ PostgreSQL của bạn:

INFO[0000] Connecting to the database server using: host=localhost port=5432 user=admindb sslmode=disable dbname=postgres

INFO[0000] Connection OK

INFO[0000] Detected PostgreSQL version: 12.0.5

INFO[0000] Getting global information

INFO[0000] Collecting global counters (1st pass)

INFO[0000] Collecting Cluster information

INFO[0000] Waiting 10 seconds to read  counters

INFO[0000] Collecting Connected Clients information

INFO[0000] Collecting Database Wait Events information

INFO[0000] Collecting Global Wait Events information

...

Sau đó, nó sẽ hiển thị tất cả thông tin được thu thập theo cách này:

##### --- Database Port and Data_Directory --- ####

+----------------------+----------------------------------------------------+

|         Name         |                      Setting                       |

+----------------------+----------------------------------------------------+

| data_directory       | /var/lib/pgsql/12/data                             |

+----------------------+----------------------------------------------------+

##### --- List of Tablespaces ---- ######

+----------------------+----------------------+-----------------------------+

|         Name         |         Owner        |               Location      |

+----------------------+----------------------+-----------------------------+

| pg_default           | postgres             |                             |

| pg_global            | postgres             |                             |

+----------------------+----------------------+-----------------------------+

##### --- Slave and the lag with Master --- ####

+----------------------+----------------------+------------------+----------+

|  Application Name    |    Client Address    |      State       |   Lag    |

+----------------------+----------------------+------------------+----------+

| pgsql_14_node_0      | 10.10.10.127         | streaming        |     0.00 |

+----------------------+----------------------+------------------+----------+

##### --- Cluster Information --- ####

+---------------------------------------------------------------------------+

 Usename        : admindb

 Time           : 2020-11-12 17:27:18.200552 +0000 UTC

 Client Address : ::1

 Client Hostname:

 Version        : PostgreSQL 12.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8....

 Started        : 2020-11-12 17:07:07.185407 +0000 UTC

 Is Slave       : false

+---------------------------------------------------------------------------+

##### --- Databases --- ####

+----------------------+------------+

|       Dat Name       |    Size    |

+----------------------+------------+

| postgres             |    8193 kB |

| template1            |    8193 kB |

| template0            |    8049 kB |

+----------------------+------------+

##### --- Index Cache Hit Ratios --- ####

Database: postgres

+----------------------+------------+

|      Index Name      |    Ratio   |

+----------------------+------------+

| index hit rate       |      0.00  |

+----------------------+------------+

##### --- Table Cache Hit Ratios --- ####

Database: postgres

+----------------------+------------+

|      Index Name      |    Ratio   |

+----------------------+------------+

| cache hit rate       |       0.00 |

+----------------------+------------+

##### --- List of Wait_events for the entire Cluster - all-databases --- ####

+----------------------+----------------------+---------+

|   Wait Event Type    |        Event         |  Count  |

+----------------------+----------------------+---------+

| Activity             | BgWriterHibernate    |     1   |

| Activity             | WalWriterMain        |     1   |

| Activity             | LogicalLauncherMain  |     1   |

| Activity             | WalSenderMain        |     1   |

| Client               | ClientRead           |     2   |

| Activity             | CheckpointerMain     |     1   |

| Activity             | AutoVacuumMain       |     1   |

+----------------------+----------------------+---------+

##### --- List of users and client_addr or client_hostname connected to --all-databases --- ####

+----------------------+------------+---------+----------------------+--------+

|   Wait Event Type    |        Client        |         State        |  Count |

+----------------------+------------+---------+----------------------+--------+

| admindb              | 10.10.10.121/32      | idle                 |      2 |

| cmon_replication     | 10.10.10.127/32      | active               |      1 |

| admindb              | ::1/128              | active               |      1 |

+----------------------+------------+---------+----------------------+--------+

##### --- Counters diff after 10 seconds --- ####

+----------------------+-------------+------------+--------------+-------------+------------+-------------+------------+-------------+------------+------------+-----------+-----------+-----------+------------+

| Database             | Numbackends | XactCommit | XactRollback | BlksRead    | BlksHit    | TupReturned | TupFetched | TupInserted | TupUpdated | TupDeleted | Conflicts | TempFiles | TempBytes | Deadlocks  |

+----------------------+-------------+------------+--------------+-------------+------------+-------------+------------+-------------+------------+------------+-----------+-----------+-----------+------------+

|                      |       0     |       0    |       0      |       0     |     119    |      77     |      31    |       0     |       0    |       0    |       0   |       0   |       0   |       0    |

| postgres             |       0     |      39    |       0      |       0     |    1541    |    1641     |     816    |       0     |       0    |       0    |       0   |       0   |       0   |       0    |

...

##### --- Table access per database --- ####

Database: postgres

+----------------------------------------------------+------+--------------------------------+---------+

|                       Relname                      | Kind |             Datname            |  Count  |

+----------------------------------------------------+------+--------------------------------+---------+

| pg_database_datname_index                          |   i  |                                |       1 |

| pg_class                                           |   r  | postgres                       |       1 |

| pg_database                                        |   r  |                                |       1 |

...

##### --- Instance settings --- ####

                      Setting                                            Value

allow_system_table_mods                       : off

application_name                              :

archive_cleanup_command                       :

archive_command                               : (disabled)

archive_mode                                  : off

archive_timeout                               : 0

array_nulls                                   : on

authentication_timeout                        : 60

autovacuum                                    : on

autovacuum_analyze_scale_factor               : 0.1

…

##### --- Processes start up command --- ####

PID  :    Command line

  5158 : /usr/pgsql-12/bin/postgres -p 5432

Bây giờ bạn có tất cả thông tin này, bạn có thể sử dụng nó cho các mục đích khác nhau như khắc phục sự cố, giám sát hiệu suất hoặc thậm chí để có cái nhìn tổng quan về cấu hình hiện tại của bạn. Bạn cũng có thể bổ sung điều này bằng Bộ công cụ Percona khác như “pt-Summary” để có thêm thông tin về hệ thống mà nó đang chạy.

Kết luận

Percona Toolkit là một công cụ mạnh mẽ giúp bạn thực hiện các công việc quản lý cơ sở dữ liệu. Giờ đây với pt-pg-Summary, bạn sẽ có thể có thông tin về phiên bản PostgreSQL của mình và bạn có thể tích hợp nó vào hệ thống giám sát hoặc thậm chí kết hợp công cụ này với một thành phần Percona Toolkit khác để thu thập thêm thông tin từ hệ thống của bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres là cơ sở dữ liệu tuyệt vời nhất - Lý do thứ 2:Giấy phép

  2. Sự phát triển của khả năng chịu lỗi trong PostgreSQL:Giai đoạn nhân rộng

  3. PostgreSQL - Thay thế các thực thể HTML

  4. Làm thế nào để xem phiên bản Postgres nào đang chạy

  5. Cài đặt và sử dụng pgmemcache