Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-06-06 GMT+08:00

Uso de pg_profile_pro

Escenarios

pg_profile_pro es un plugin utilizado para monitorear el rendimiento y el estado de instancias de RDS for PostgreSQL DB. Proporciona informes de datos de monitoreo para sentencias SQL, tablas, índices, funciones, transacciones y operaciones de vacío para detectar problemas de rendimiento existentes o potenciales de bases de datos.

Basado en la vista pg_stat_statements de PostgreSQL, este plugin crea estadísticas históricas en su instancia de base de datos y genera muestras de estadísticas. Las muestras de estadísticas periódicas se utilizan para generar informes de monitoreo, lo que ayuda a identificar actividades que consumen recursos.

Este complemento no está soportado temporalmente debido a sus defectos. Estará abierto a usted después de que se corrijan los defectos. Le pedimos disculpas por el inconveniente.

Restricciones

Solo RDS for PostgreSQL 12 soporta este complemento.

Procedimiento

  1. Ejecute el siguiente comando para conectarse a la base de datos postgres como usuario root y obtener la lista de ejemplo.

    # psql --host=<RDS_ADDRESS> --port=<DB_PORT>--dbname=postgres --username=root -c "select * from profile.show_samples();"

    Tabla 1 Descripción de parámetro

    Parámetro

    Descripción

    RDS_ADDRESS

    Indica la dirección IP de la instancia de base de datos RDS.

    DB_PORT

    Indica el puerto de la instancia de base de datos RDS.

    Introduzca la contraseña del usuario root cuando se le solicite.

    Password for user root:

    La información que aparecerá en pantalla será similar a la información siguiente:

     sample |      sample_time       | dbstats_reset | clustats_reset | archstats_reset
    --------+------------------------+---------------+----------------+-----------------
          1 | 2021-04-02 17:15:49+08 |               |                |
          2 | 2021-04-02 17:25:57+08 |               |                |
          3 | 2021-04-02 17:36:04+08 |               |                |
    (3 rows)

    Utilice el resultado real de la consulta.

  2. Conéctese a la base de datos postgres como usuario root y obtenga el informe utilizando cualquiera de los métodos siguientes:

    Método 1: Obtener el informe basado en la identificación de la muestra.

    # psql --host=<RDS_ADDRESS> --port=<DB_PORT> --dbname=postgres --username=root -Aqtc "select profile.get_report(<sample_start_id>, <sample_end_id>)" -o <filename>.html
    Tabla 2 Descripción de parámetro

    Parámetro

    Descripción

    RDS_ADDRESS

    Indica la dirección IP de la instancia de base de datos RDS.

    DB_PORT

    Indica el puerto de la instancia de base de datos RDS.

    sample_start_id

    Indica el ID de ejemplo inicial contenido en el informe.

    sample_end_id

    Indica el ID de muestra final contenido en el informe.

    filename

    Indica el nombre del archivo donde se va a guardar el contenido del informe. Puede especificar una ruta relativa o una ruta absoluta para el archivo.

    El valor de sample_start_id debe ser menor que el de sample_end_id. De lo contrario, no se puede generar el informe.

    Método 2: Obtener el informe especificando un período de tiempo.

    # psql --host=<RDS_ADDRESS> --port=<DB_PORT> --dbname=postgres --username=root -Aqtc "select profile.get_report(tstzrange('sample_start_time', 'sample_end_time'))" -o <filename>.html

    Tabla 3 Descripción de parámetro

    Parámetro

    Descripción

    RDS_ADDRESS

    Indica la dirección IP de la instancia de base de datos RDS.

    DB_PORT

    Indica el puerto de la instancia de base de datos RDS.

    sample_start_time

    Indica la hora de inicio de muestra contenida en el informe.

    sample_end_time

    Indica la hora de finalización de muestra contenida en el informe.

    filename

    Indica el nombre del archivo donde se va a guardar el contenido del informe. Puede especificar una ruta relativa o una ruta absoluta para el archivo.

    Conservar los valores predeterminados de los siguientes parámetros:

    • Período de muestreo (unidad: minuto): 10
    • Período de retención de la muestra (unidad: día): 7
    • Número de registros mostrados: 20

Configuración de parámetros

Tabla 4 Parámetros que afectan al informe de muestra

Parámetro

Valor predeterminado

Reinicio necesario

Funciones

Observaciones

pg_profile_pro.topn

20

No

Controla el número de objetos (como sentencias y relaciones) que se deben informar en cada informe de ordenación.

Este parámetro afecta al tamaño de la muestra. Si desea mostrar más objetos en el informe, es necesario conservar más objetos en el ejemplo.

pg_profile_pro.max_sample_age

3

No

Indica el período de retención de la muestra, en días. Las muestras cuyo período de retención haya excedido el valor de este parámetro se eliminarán automáticamente durante el siguiente muestreo.

La granularidad mínima del parámetro es día.

pg_profile_pro.track_sample_timings

off

No

Controla si pg_profile_pro rastrea el tiempo de muestreo detallado.

Después de establecer este parámetro en on, se registra el tiempo consumido por cada muestreo, lo que aumenta el uso de espacio.

pg_profile_pro.period

3600

No

Indica el período de muestreo, en segundos.

Controla el periodo de muestreo.

Este parámetro afecta al tamaño de la muestra. Cuanto más corto es el período de muestreo, más objetos se reserva el informe debido a más muestras en unidad de tiempo.

pg_profile_pro.enable

on

No

Controla si el complemento recopila muestras.

  • on: sí.
  • off: no.

Si este parámetro se establece en off, no se puede generar el último informe, pero se puede ver el informe histórico.

Los valores predeterminados de la tabla son para la última versión de RDS y pueden variar en otras versiones.

Ejemplo de informe

Un informe consta de título, contenido y tablas.

  • Título

    El título contiene los ID de ejemplo inicial y final, la versión del kernel de pg_profile_pro, el nombre del servidor y el intervalo del informe.

    Figura 1 Título del informe
  • Contenidos

    Cada capa de contenido está vinculada a una tabla. Puede obtener una visión general de todas las tablas del contenido o hacer clic en los enlaces para ver cada tabla.

    En la siguiente figura se muestra un ejemplo de contenido.

  • Tablas

    Las tablas muestran el rendimiento de la base de datos desde diferentes dimensiones y enfoques.

    • Cada tabla va seguida de sugerencias sobre los focos.
    • En cada tabla, puede mover el puntero del ratón al título de una columna para ver los comentarios (tanto en chino como en inglés).