Para se preparar para um pico de negócios de curto prazo ou uma alteração no esquema do banco de dados (especialmente mudanças em índices), utilize o recurso de reprodução de tráfego e teste de estresse. Esse recurso ajuda a determinar se é necessário dimensionar horizontalmente sua instância de banco de dados e a verificar o desempenho em um cenário real de negócios, reduzindo o risco de falhas após a implantação. Além disso, caso ocorra uma falha no banco de dados sem causa identificável, use um banco de dados clonado para reproduzir o problema e localizar sua origem.
Pré-requisitos
-
Bancos de dados de origem compatíveis:
RDS MySQL
-
PolarDB for MySQL
NotaInstâncias PolarDB for MySQL Enterprise Edition single-node não são compatíveis.
-
Instâncias de banco de dados de destino compatíveis:
RDS MySQL.
PolarDB for MySQL.
PolarDB-X 2.0.
As instâncias de banco de dados de origem e de destino devem estar conectadas ao DAS. Para mais informações, consulte Connect an Alibaba Cloud database instance to DAS.
Na instância de banco de dados de origem, o DAS Enterprise Edition e o recurso SQL Explorer devem estar ativados. O período de retenção dos índices de log deve ser de 7 dias.
Na instância de banco de dados de destino, o DAS Enterprise Edition e o recurso SQL Explorer devem estar ativados. O período de retenção dos índices de log deve ser de 7 dias.
Cenários
Avaliar se a instância atual de banco de dados precisa de dimensionamento horizontal para lidar com picos de tráfego de curto prazo.
Validar o impacto de evoluções no esquema do banco de dados, especialmente após alterações de índice, em um cenário de serviço real. Isso reduz o risco de falhas após a entrada em produção.
Reproduzir cenários de falha em um banco de dados clonado usando o recurso de teste de estresse inteligente para identificar a causa raiz quando não for possível localizá-la diretamente.
Observações de uso
-
Para minimizar o impacto da latência de rede nos testes de estresse, o cliente de teste e a instância de destino devem estar na mesma região.
NotaRecomendamos colocar o cliente de teste de estresse e a instância de destino na mesma VPC.
Antes de executar o teste de estresse, verifique a conectividade entre o cliente de teste e a instância de destino para garantir o envio de tráfego.
Faturamento
Para informações sobre as taxas do DAS Enterprise Edition, consulte Billing.
-
Após criar uma tarefa de teste de estresse, os seguintes itens são faturados:
Se você selecionar Restore by Backup para migração de dados, o sistema cria automaticamente uma instância de banco de dados no modelo pagamento conforme o uso com base no mecanismo de banco de dados de destino escolhido. O sistema também ativa a versão mais recente do DAS Enterprise Edition para a nova instância, juntamente com armazenamento de logs SQL por 30 dias e armazenamento de índices de log por 7 dias.
Caso selecione DAS Automatic Purchase and Deployment na seção Advanced Settings, o sistema adquire uma instância ECS no modelo pagamento conforme o uso com um tipo adequado, baseado no QPS do banco de dados de origem e no multiplicador de velocidade de reprodução. Para mais informações, consulte ECS billing overview.
NotaComo o sistema adquire instâncias no modelo pagamento conforme o uso, exclua-as manualmente após o término da tarefa de teste de estresse para evitar cobranças desnecessárias.
Procedimento
Faça login no console do DAS.
-
Acesse a página Traffic Playback and Stress Testing.
Você pode acessar a página Traffic Playback and Stress Testing das seguintes formas:
No painel de navegação à esquerda, clique em Tools > Traffic Replay & Stress Testing.
-
Navegue até a página a partir da página de detalhes da instância.
No painel de navegação à esquerda, clique em .
Localize a instância desejada e clique no ID da instância para abrir a página de detalhes.
No painel de navegação à esquerda, clique em Request Analysis > SQL Explorer and Audit. Em seguida, na página exibida, clique em Traffic Playback and Stress Test.
Na página da lista de tarefas, clique em Create Task no canto superior direito.
-
Na caixa de diálogo Create Task, defina os seguintes parâmetros.
Defina Task Type como Cloud Instance Playback e insira um Task Name.
-
Na seção Source Information, configure os parâmetros abaixo e clique em Next.
Configuração
Descrição
Instance Source
Selecione Alibaba Cloud Database.
Database Engine
O mecanismo da sua instância de banco de dados. As opções incluem:
-
MySQL: uma instância RDS MySQL.
-
PolarDB for MySQL: uma instância PolarDB for MySQL.
-
PolarDB-X: uma instância PolarDB-X 2.0.
Source Instance
Selecione o ID da Source Instance.
Advanced Settings
Batch Stress Testing
A tarefa pausa após a fase de preparação. Você pode então selecionar várias tarefas na lista e iniciar o teste de estresse para todas simultaneamente.
SQL Type
Selecione um ou mais tipos de SQL para testar.
Database Account, Password
A conta e a senha do banco de dados de origem.
NotaClique em Obtain Database para recuperar a lista de bancos de dados. Se desejar realizar testes de estresse em todos os bancos de dados, não é necessário selecionar nenhum. Para testar bancos específicos, selecione até cinco.
-
-
Na seção Generation Method of Schema and Data of Destination Database, configure os seguintes parâmetros.
Configuração
Descrição
Database Engine
O mecanismo da instância de banco de dados de destino. Os seguintes tipos são compatíveis:
-
MySQL: uma instância RDS MySQL.
-
PolarDB for MySQL: uma instância PolarDB for MySQL.
-
PolarDB-X: uma instância PolarDB-X 2.0.
NotaO PolarDB-X 2.0 é compatível apenas nas regiões China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen) e Singapore.
Benchmark Data Migration
Escolha um método de migração dependendo se os dados de referência da instância de origem já foram migrados para a instância de destino:
-
Restore by Backup: A instância de destino é clonada da instância de origem com base em um ponto no tempo ou em um conjunto de backup.
NotaO DAS adquire automaticamente uma instância no modelo pagamento conforme o uso com as mesmas especificações da instância de origem. A versão mais recente do DAS Enterprise Edition e o recurso SQL Explorer são ativados por padrão, o período de retenção dos índices de log é definido como 7 dias e os dados de backup são restaurados na instância.
-
Data Migration Completed: O esquema das tabelas e os dados da instância de origem referentes ao intervalo de tempo da reprodução de tráfego já foram sincronizados com a instância de destino.
NotaO esquema e os dados da instância de destino devem ser consistentes com os da instância de origem para garantir que o tráfego do teste de estresse seja executado conforme esperado.
-
Enter DTS Task ID: Uma tarefa de migração de dados foi criada no console do DTS para sincronizar dados da instância de origem para a de destino.
NotaPara mais informações sobre migração de dados usando o DTS, consulte Migração de Dados.
-
Create DTS Migration Task: Crie diretamente uma tarefa de migração de dados sem precisar navegar até o console do DTS.
Nota-
Se a instância de origem for um banco de dados Alibaba Cloud, qualquer um dos quatro métodos pode ser selecionado. Recomendamos o uso de Restore by Backup, pois o sistema adquire automaticamente uma instância no modelo pagamento conforme o uso com as mesmas especificações da origem e restaura os dados nessa instância após a criação da tarefa de teste de estresse.
-
Caso a instância de origem seja um banco de dados autogerenciado, apenas as opções Data Migration Completed, Enter DTS Task ID ou Create DTS Migration Task estão disponíveis.
Restore Mode
Escolha um modo de restauração conforme necessário:
-
By Time Point
-
By Backup Set
Nota-
Este parâmetro é obrigatório quando Benchmark Data Migration estiver definido como Restore by Backup.
-
Ao definir Restore Mode como By Backup Set, conceda permissões à DAS Service-linked Role. Na caixa de diálogo exibida, clique em OK.
Select Restore Time/Backup Set
Selecione um horário de restauração ou um conjunto de backup com base no Restore Mode escolhido.
NotaEste parâmetro é obrigatório quando Benchmark Data Migration estiver definido como Restore by Backup.
Migration Task ID
O ID da tarefa de migração de dados do DTS que sincroniza dados da instância de origem para a de destino.
NotaEste parâmetro é obrigatório quando Benchmark Data Migration estiver definido como Enter DTS Task ID.
DTS Migration Task Specifications
Selecione as especificações da tarefa de migração do DTS.
NotaEste parâmetro é obrigatório quando Benchmark Data Migration estiver definido como Create DTS Migration Task.
Destination Instance
Selecione a instância de destino. Por padrão, o sistema acessa o endpoint primário da instância de destino.
NotaEste parâmetro é obrigatório quando Benchmark Data Migration estiver definido como Data Migration Completed, Enter DTS Task ID ou Create DTS Migration Task.
Privileged Account of Destination Instance
O nome de usuário e a senha da conta privilegiada da instância de destino.
NotaEste parâmetro é obrigatório quando Benchmark Data Migration estiver definido como Data Migration Completed, Enter DTS Task ID ou Create DTS Migration Task.
Privileged Account of Source Instance
O nome de usuário e a senha da conta privilegiada da instância de origem.
NotaEste parâmetro é obrigatório quando Benchmark Data Migration estiver definido como Restore by Backup ou Create DTS Migration Task.
-
-
Na seção Stress Testing Basic Settings, configure os seguintes parâmetros.
Configuração
Descrição
Select Playback Traffic
Defina o intervalo de tempo para a reprodução do tráfego.
NotaO recurso SQL Explorer and Audit deve estar ativado na instância de origem durante este intervalo de tempo.
Playback Speed
A taxa em que o tráfego da instância de origem é reproduzido na instância de destino. Por exemplo, o valor 1 indica a velocidade original. A taxa de reprodução deve ser um número inteiro positivo entre 1 e 10.
NotaSe a velocidade de reprodução definida exceder a velocidade máxima suportada pelo tipo da instância de destino, a tarefa de teste de estresse será executada na velocidade máxima suportada.
-
Na seção Advanced Settings, selecione uma ECS that Deploys Stress Testing Program.
É possível selecionar DAS Automatic Purchase and Deployment. Nesse caso, o sistema adquire uma instância ECS no modelo pagamento conforme o uso com um tipo adequado, baseado no QPS da instância de origem e no multiplicador de velocidade de reprodução.
Alternativamente, clique em Add para escolher uma instância ECS existente, gerar o comando de implantação e executá-lo nessa instância.
Clique em Next.
Após a validação bem-sucedida, clique em OK para criar a tarefa de teste de estresse.
Após a criação da tarefa de teste de estresse, retorne à página da lista de tarefas para visualizar os detalhes.
-
Na coluna Actions, execute as seguintes operações:
Clique em Details para acessar a página Basic Task Information e visualizar o status de execução e o relatório da tarefa de teste de estresse.
Para encerrar a tarefa de teste de estresse antecipadamente, clique em Terminate.
Clique em Delete para excluir a tarefa de teste de estresse criada.
-
Na seção , ajuste dinamicamente os parâmetros durante a execução da tarefa. A tabela a seguir descreve esses parâmetros.
Parâmetro
Descrição
Threads
Quantidade de threads de reprodução. Calculado automaticamente com base na CPU do host de reprodução: max(3, 2*runtime.NumCPU()-5).
BatchSize
Tamanho do lote para análise. Instruções SQL são processadas em lotes durante a análise. Caso ocorra erro de falta de memória, ajuste este parâmetro. Valor padrão: 100.000.
Debug
Define se logs de depuração devem ser gerados.
ConnectPoolSize
Tamanho do pool de conexões.
ConnectTimeout
Tempo limite de conexão. Unidade: segundos. Valor padrão: 3.
SocketTimeout
Tempo limite de execução. Unidade: segundos. Valor padrão: 10.
SkipDuplicateErrorSql
Quando ativado, o sistema ignora modelos de instruções SQL que causam falhas repetidas de execução ou timeouts.
SqlCountLimit
Tamanho de dispersão de threads. Valores menores reduzem a mesclagem de threads, mas podem causar alta pressão de leitura, resultando em timeouts e afetando o progresso da reprodução.
Ao concluir a tarefa de teste de estresse, acesse a página Intelligent Stress Testing Details. Se não houver necessidade de novos testes, libere as instâncias ECS e de banco de dados correspondentes para evitar cobranças desnecessárias.
Caso tenha ativado manualmente o SQL Explorer and Audit na instância de origem, desative-o após o término do teste de estresse. Para mais informações, consulte Disable SQL Explorer and Audit.
Se for necessário dimensionar horizontalmente a instância de banco de dados para um pico de negócios de curto prazo, ative automatic performance scaling ou scheduled Auto Scaling conforme o tipo da instância.