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.
Centro de ayuda/ GaussDB(DWS)/ Guía de gestión/ Conexión de clústeres/ Gestión de conexiones de base de datos
Actualización más reciente 2024-06-12 GMT+08:00

Gestión de conexiones de base de datos

Escenario

De forma predeterminada, una base de datos admite un cierto número de conexiones. Los administradores pueden gestionar las conexiones de base de datos para obtener información sobre el rendimiento de la conexión de la base de datos actual o aumentar el límite de conexión para que más usuarios o aplicaciones puedan conectarse a la base de datos al mismo tiempo.

Número máximo de conexiones

El número de conexiones admitidas por un clúster depende de su variante de nodo.

Tabla 1 Número de conexiones admitidas

Parámetro

Número de conexiones CN

Número de conexiones DN

max_connections

800

Máx.(Número de núcleos vCPU/Número de DN en un solo nodo x 120 + 24, 5000)

  • Las políticas de max_pool_size y max_prepared_transactions son las mismas que las de max_connections.
  • Para obtener más información sobre los CN y los DN, consulte Arquitectura de clúster lógico.

Consulta del número máximo de conexiones

  1. Utilice la herramienta cliente SQL para conectarse a la base de datos en un clúster.
  2. Ejecute el siguiente comando:

    1
    SHOW max_connections;
    

    Se muestra información similar a la siguiente, que muestra que el número máximo de conexiones de base de datos es 200 por defecto.

    max_connections
    ----------------- 
    200
    (1 row)

Consulta del número de conexiones utilizadas

  1. Utilice la herramienta cliente SQL para conectarse a la base de datos en un clúster.
  2. Consulta el número de conexiones en los escenarios descritos en Tabla 2.

    Tabla 2 Consulta del número de conexiones

    Descripción

    Comando

    Ver el número máximo de sesiones conectadas a un usuario específico.

    Ejecute el siguiente comando para ver el número máximo de sesiones conectadas al usuario dbadmin.

    1
    SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='dbadmin';
    

    Se muestra información similar a la siguiente. -1 indica que el número de sesiones conectadas al usuario dbadmin no está limitado.

     rolname  | rolconnlimit
    ----------+--------------
     dwsadmin |           -1
    (1 row)

    Ver el número de conexiones de sesión que ha utilizado un usuario.

    Ejecute el siguiente comando para ver el número de conexiones de sesión que ha utilizado dbadmin.

    1
    SELECT COUNT(*) FROM V$SESSION WHERE USERNAME='dbadmin';
    

    Se muestra información similar a la siguiente. 1 indica el número de conexiones de sesión utilizadas por el usuario dbadmin.

     count
    -------
         1
    (1 row)

    Ver el número máximo de sesiones conectadas a una base de datos específica.

    Ejecute el siguiente comando para ver el límite superior de conexiones utilizado por la base de datos gaussdb:

    1
    SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='gaussdb';
    

    Se muestra información similar a la siguiente. -1 indica que el número de sesiones conectadas a la base de datos gaussdb no está limitado.

     datname  | datconnlimit
    ----------+--------------
     gaussdb |           -1
    (1 row)

    Ver el número de conexiones de sesión que ha utilizado una base de datos.

    Ejecute el siguiente comando para ver el número de conexiones de sesión que ha utilizado la base de datos gaussdb:

    1
    SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE DATNAME='gaussdb';
    

    Se muestra información similar a la siguiente. 1 indica el número de conexiones de sesión utilizadas por la base de datos gaussdb.

     count 
    -------
         1
    (1 row)

    Vea el número de conexiones de sesión que han sido utilizadas por todos los usuarios.

    Ejecute el siguiente comando para ver el número de conexiones de sesión que han sido utilizadas por todos los usuarios:

    1
    2
    3
    4
    5
    	SELECT COUNT(*) FROM PG_STAT_ACTIVITY;
     count
    -------
         10
    (1 row)