Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Pool de threads

Última atualização: Jun 26, 2026

Para maximizar o desempenho do ApsaraDB for RDS, a Alibaba Cloud oferece um pool de threads. Esse recurso desacopla threads de sessões, permitindo que poucas threads processem tarefas de muitas sessões ativas.

Benefícios

O modelo de conexão padrão do MySQL utiliza uma thread por sessão. Quando há um volume elevado de sessões conectadas, esse modelo pode causar contenção significativa de recursos. A sobrecarga do agendamento de threads do sistema e da invalidação frequente de cache pode provocar queda abrupta no desempenho.

O pool de threads do ApsaraDB for RDS implementa mecanismos de prioridade e controle de concorrência para diferentes tipos de operações SQL. Ele mantém o número de threads simultâneas em um nível ideal, garantindo alto desempenho mesmo sob cargas de trabalho com alta concorrência. Os principais benefícios são:

  • Em cenários de alta concorrência, o pool de threads mantém as threads ativas dentro de uma faixa ideal. Isso reduz o agendamento excessivo de threads e a invalidação de cache.

  • Para transações concorrentes, o recurso diminui a contenção de recursos ao atribuir prioridades distintas a instruções SQL e transações, além de controlar sua concorrência.

  • Instruções SQL administrativas recebem prioridade mais alta. Isso assegura que operações como criação de novas conexões, gerenciamento e monitoramento funcionem de forma confiável mesmo sob carga elevada do sistema.

  • Instruções SQL complexas têm prioridade reduzida e estão sujeitas a um limite máximo de concorrência. Essa medida evita que o excesso dessas instruções esgote os recursos do sistema e torne o serviço de banco de dados indisponível.

Pré-requisitos

A instância RDS deve executar o MySQL 5.6, 5,7, 8,0 ou 8,4.

Parâmetros do pool de threads

Configure o pool de threads pelos três parâmetros abaixo no console. Para mais informações, consulte Configurar parâmetros da instância.

Parâmetro Descrição
loose_thread_pool_enabled Defina se o recurso de pool de threads será ativado. Valores válidos:
  • ON
  • OFF

Valor padrão: ON.

Nota
  • Utilize este parâmetro para ativar ou desativar o pool de threads. O parâmetro thread_handling não é mais usado para essa finalidade.
  • Não é necessário reiniciar a instância para ativar ou desativar o pool de threads.
loose_thread_pool_size Quantidade de grupos de threads. Valor padrão: 4. As threads do pool são distribuídas uniformemente entre esses grupos para gerenciamento.
loose_thread_pool_oversubscribe Número de threads ativas permitidas em cada grupo de threads. Valor padrão: 32. Uma thread ativa executa uma instrução SQL, exceto nos seguintes casos:
  • A instrução SQL aguarda E/S de disco.
  • A instrução SQL aguarda o commit de uma transação.

Status do pool de threads

Para consultar o status do pool de threads, execute o seguinte comando:

show status like "thread_pool%";

Exemplo:

mysql> show status like "thread_pool%";

+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| thread_pool_active_threads | 1     |
| thread_pool_big_threads    | 0     |
| thread_pool_dml_threads    | 0     |
| thread_pool_idle_threads   | 19    |
| thread_pool_qry_threads    | 0     |
| thread_pool_total_threads  | 20    |
| thread_pool_trx_threads    | 0     |
| thread_pool_wait_threads   | 0     |
+----------------------------+-------+
8 rows in set (0.00 sec)            

A tabela a seguir descreve as variáveis de status.

Parâmetro

Descrição

thread_pool_active_threads

Quantidade de threads ativas no pool de threads.

thread_pool_big_threads

Número de threads no pool executando consultas complexas. Consultas complexas incluem subconsultas, funções de agregação ou cláusulas como GROUP BY e LIMIT.

thread_pool_dml_threads

Total de threads no pool dedicadas à execução de instruções DML.

thread_pool_idle_threads

Quantidade de threads ociosas no pool de threads.

thread_pool_qry_threads

Threads no pool processando consultas simples.

thread_pool_total_threads

Soma total de threads presentes no pool.

thread_pool_trx_threads

Threads responsáveis por executar transações no pool.

thread_pool_wait_threads

Threads no pool aguardando E/S de disco ou o commit de transações.

Testes SysBench

As figuras a seguir apresentam uma comparação de desempenho entre cenários com o pool de threads ativado e desativado. Os resultados indicam que o pool de threads proporciona vantagem significativa de desempenho em cargas de trabalho com alta concorrência.