Determinar as necessidades de dimensionamento do Banco de Dados do Azure para o servidor MySQL

Concluído

Quando se trata de dimensionar recursos de computação, considere se o uso existente e previsto está dentro da capacidade. Você pode obter as informações necessárias monitorando métricas básicas de desempenho, como a utilização da CPU e da RAM. Talvez seja possível usar o log de consulta lento para identificar e otimizar consultas com baixo desempenho e solucionar o problema de desempenho sem dimensionar o tamanho da computação. Você também deve monitorar o desempenho de E/S para garantir que as leituras e gravações do banco de dados não sejam um gargalo de desempenho. Outra opção para aumentar efetivamente a capacidade disponível no banco de dados principal é provisionar uma réplica de leitura para deslocar a carga da consulta.

Monitorar métricas de desempenho do banco de dados

O portal do Azure apresenta acesso a várias métricas que você pode usar para monitorar o desempenho do banco de dados. Por exemplo, você pode visualizar a porcentagem de CPU usada por um servidor flexível.

Captura de tela de métricas mostrando a utilização da CPU.

À medida que a utilização da CPU se aproxima de 100%, o desempenho do banco de dados se degrada drasticamente. Como resultado, se a utilização da CPU em seu servidor flexível estiver consistentemente acima de 50%, considere aumentar o tamanho da computação.

Você pode exibir suas métricas de desempenho na pasta de trabalho de visão geral do monitoramento. Para acessar a pasta de trabalho de visão geral, execute estas etapas:

  1. No portal do Azure, no painel esquerdo, em Monitoramento para sua instância de servidor flexível do Banco de Dados do Azure para MySQL, selecione Pastas de trabalho.

    Captura de tela da seção de monitoramento mostrando a lista de pastas de trabalho.

  2. Selecione a pasta de trabalho Visão geral . Você verá gráficos mostrando conexões, uso de CPU e memória e outras métricas, como na captura de tela a seguir.

    Captura de tela da pasta de trabalho de visão geral de monitoramento.

Além de analisar essas métricas, você pode visualizar o diagnóstico do servidor para obter informações sobre o desempenho no painel Logs do seu servidor flexível.

Captura de tela do painel Logs mostrando o seletor de consulta.

Além dessas métricas e logs, você também pode monitorar o log de consultas lentas para capturar detalhes sobre consultas de longa execução. Essas informações podem revelar consultas lentas existentes para otimização e você pode configurar alertas para detetar imediatamente futuras regressões de desempenho de consulta para mitigação.

Para ativar o recurso Log de consulta lenta, na página associada ao seu servidor flexível, selecione Logs do servidor e marque as caixas de seleção "Ativar" e "Logs de consulta lenta".

Captura de ecrã da página do portal do Azure para ativar os registos lentos do servidor de consulta.

Depois que o log de consultas lentas estiver habilitado, você poderá exibir informações sobre o desempenho da consulta usando a análise de log ou pastas de trabalho de visualização. Para acessar as informações de desempenho da consulta, siga as mesmas etapas acima, mas selecione Insights de desempenho da consulta em vez de Visão geral.

Você verá várias visualizações, incluindo as cinco principais consultas mais longas ou um resumo de consultas lentas, conforme mostrado na captura de tela a seguir.

Captura de tela das cinco principais consultas mais longas e resumo das consultas lentas.

Ajustar parâmetros de desempenho do servidor

Você pode configurar os parâmetros do servidor MySQL para otimizar o desempenho com base no seu monitoramento. Por exemplo, você pode aumentar o valor de para manter mais dados de tabela na memória e salvar em leituras de innodb_buffer_pool_size disco. Você pode aumentar o para reduzir a atividade de liberação do ponto de verificação do pool de buffers, ao custo de uma recuperação de falhas mais lenta innodb_log_file_size .

Se você achar que as conexões de aplicativo estão enfileiradas e a carga do servidor é aceitável, você pode aumentar o número máximo de conexões para permitir mais paralelismo.

Para modificar os parâmetros do servidor, vá para o portal do Azure para seu servidor flexível MySQL e navegue até a seção Parâmetros do servidor. Insira o nome do parâmetro na barra de pesquisa ou navegue pelos parâmetros Top ou All supported server.

Explore e habilite o recurso Autoscale IOPS

O Banco de Dados do Azure para MySQL tem duas maneiras de alocar a capacidade de E/S do disco: IOPS pré-provisionadas vs IOPS "autodimensionadas" (operações de E/S por segundo).

IOPS pré-provisionadas podem ser preferíveis quando a carga do banco de dados é previsível e não aumenta. O servidor obtém um número base de IOPS provisionadas e você pode alocar IOPS adicionais (até o tamanho máximo de computação) conforme necessário, indo para Computação + armazenamento:

Captura de tela do painel de configurações para adicionar IOPS pré-provisionadas adicionais.

Se ocorrer um pico, o desempenho do servidor poderá diminuir temporariamente se as operações de E/S excederem o valor alocado. No entanto, a capacidade e os custos são previsíveis.

O recurso Autoscale IOPS foi criado para tráfego de banco de dados imprevisível, espinhoso ou crescente. Com esse recurso habilitado, o IOPS é dimensionado dinamicamente, de modo que o ajuste manual não é necessário para otimizar o custo ou o desempenho à medida que o fluxo de trabalho flutua. Como resultado, o uso do recurso IOPS de dimensionamento automático lida com picos de carga de trabalho imprevistos de forma transparente e você paga apenas pelas operações consumidas, não pela capacidade não utilizada.

Para um servidor flexível MySQL existente, você pode habilitar o recurso IOPS de dimensionamento automático no portal do Azure, selecionando Computação + armazenamento:

Captura de tela das opções de criação para dimensionar automaticamente IOPS.

Nota

Você também pode habilitar o recurso IOPS de dimensionamento automático durante a criação do servidor.

Monitorar IOPS

O monitoramento de IOPS permite determinar o quão próxima sua instância está do máximo de IOPS, se você estiver usando IOPS pré-provisionadas, ou do tamanho máximo da computação se estiver usando o recurso de IOPS de dimensionamento automático.

Para monitorar o desempenho de IOPS, navegue até a folha Métricas na seção Monitoramento ou para a folha Visão geral, se quiser visualizar o desempenho de IOPS junto com outras métricas comuns.

Captura de tela do monitoramento de lâmina de visão geral.

Na WingTip Toys, como você antecipa um grande aumento no tráfego em momentos imprevisíveis à medida que a campanha de marketing é lançada, você quer evitar o risco de não ser capaz de acomodar os pedidos recebidos. Você também quer evitar pagar pela capacidade máxima se você realmente não precisar dela. Você opta por usar o recurso de IOPS de dimensionamento automático em vez de IOPS pré-provisionadas, o que requer a adição de mais IOPS manualmente, conforme necessário. Essa abordagem equilibra a relação custo-benefício com a escalabilidade sob demanda.

Provisionar uma réplica de leitura

Você provisiona réplicas de leitura para descarregar consultas somente leitura para um banco de dados separado, reduzindo a carga no banco de dados do aplicativo principal.

Para provisionar uma réplica de leitura, no portal do Azure, na página associada ao seu servidor flexível, selecione Replicação e, em seguida, selecione Adicionar réplica.

Captura de tela do botão adicionar réplica.

Depois de criar a réplica de leitura, você pode configurar o nome do servidor de réplica e suas configurações de computação e armazenamento. Não é possível alterar algumas configurações, como autenticação, que são herdadas do servidor primário.

Captura de ecrã da adição de uma réplica.

Na Wingtip Toys, a equipe de ciência de dados e as ferramentas de relatórios agora podem consultar o servidor de réplica de leitura, reduzindo a carga no banco de dados principal do aplicativo e eliminando a necessidade de limitar análises ou limitar consultas fora do expediente.