Gerenciamento de conexões de banco de dados
Cenário
Por padrão, um banco de dados suporta um certo número de conexões. Os administradores podem gerenciar conexões de banco de dados para aprender sobre o desempenho de conexão do banco de dados atual ou aumentar o limite de conexão para que mais usuários ou aplicações possam se conectar ao banco de dados ao mesmo tempo.
Número máximo de conexões
O número de conexões suportadas por um cluster depende de seu sabor de nó.
Parâmetro |
Número de conexões de CN |
Número de conexões de DN |
---|---|---|
max_connections |
800 |
Max (número de núcleos vCPU/número de DNs em um único nó x 120 + 24.5000) |
- As políticas de max_pool_size e max_prepared_transactions são as mesmas de max_connections.
- Para obter detalhes sobre CNs e DNs, consulte Arquitetura de cluster lógico.
Exibir o número máximo de conexões
- Use a ferramenta de cliente SQL para se conectar ao banco de dados em um cluster.
- Execute o seguinte comando:
1
SHOW max_connections;
Informações semelhantes às seguintes são exibidas, mostrando que o número máximo de conexões de banco de dados é 200 por padrão.
max_connections ----------------- 200 (1 row)
Exibir o número de conexões usadas
- Use a ferramenta de cliente SQL para se conectar ao banco de dados em um cluster.
- Visualize o número de conexões nos cenários descritos em Tabela 2.
Tabela 2 Visualizar o número de conexões Descrição
Comando
Exibir o número máximo de sessões conectadas a um usuário específico.
Execute o comando a seguir para exibir o número máximo de sessões conectadas ao usuário dbadmin.
1
SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='dbadmin';
Informação semelhante à seguinte é exibida. -1 indica que o número de sessões conectadas ao usuário dbadmin não é limitado.
rolname | rolconnlimit ----------+-------------- dwsadmin | -1 (1 row)
Exibir o número de conexões de sessão que foram usadas por um usuário.
Execute o comando a seguir para exibir o número de conexões de sessão que foram usadas pelo dbadmin.
1
SELECT COUNT(*) FROM V$SESSION WHERE USERNAME='dbadmin';
Informação semelhante à seguinte é exibida. 1 indica o número de conexões de sessão usadas pelo usuário dbadmin.
count ------- 1 (1 row)
Exibir o número máximo de sessões conectadas a um banco de dados específico.
Execute o seguinte comando para exibir o limite superior de conexões usadas pelo banco de dados gaussdb:
1
SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='gaussdb';
Informação semelhante à seguinte é exibida. -1 indica que o número de sessões conectadas ao banco de dados gaussdb não é limitado.
datname | datconnlimit ----------+-------------- gaussdb | -1 (1 row)
Exibir o número de conexões de sessão que foram usadas por um banco de dados.
Execute o seguinte comando para exibir o número de conexões de sessão que foram usadas pelo banco de dados gaussdb:
1
SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE DATNAME='gaussdb';
Informação semelhante à seguinte é exibida. 1 indica o número de conexões de sessão usadas pelo banco de dados gaussdb.
count ------- 1 (1 row)
Exibir o número de conexões de sessão que foram usadas por todos os usuários.
Execute o seguinte comando para exibir o número de conexões de sessão que foram usadas por todos os usuários:
1 2 3 4 5
SELECT COUNT(*) FROM PG_STAT_ACTIVITY; count ------- 10 (1 row)