Acelerar e otimizar o desempenho

Concluído

Compreender as suas opções para acelerar e ajustar o desempenho do Azure SQL é fundamental para ir mais longe no fornecimento de um desempenho consistente. Isto passa por compreender como dimensionar a capacidade da CPU, aumentar o desempenho de E/S, configurar a memória e os trabalhos, melhorar a latência da aplicação e aplicar as melhores práticas padrão de otimização do SQL Server.

Dimensionar a capacidade da CPU

Poderá ser necessário dimensionar o número das CPUs conforme as suas necessidades de recursos. Para um ambiente no local, isto exigiria a nova configuração de uma VM, a alteração do hardware e até a migração da base de dados. O SQL do Azure permite-lhe fazer isto sem qualquer migração. Pode utilizar o portal, o T-SQL, a CLI do Azure ou APIs REST para aumentar ou reduzir verticalmente os vCores na sua implementação.

Por norma, é necessário um período de inatividade, mas este pode ser muito rápido numa Base de Dados SQL do Azure sem migração. As implementações Hyperscale permitem-lhe aumentar verticalmente em tempo constante, independentemente do tamanho dos dados e a implementação Sem servidor permite-lhe dimensionar automaticamente com base nos pedidos da CPU.

Nota

O dimensionamento da Instância Gerenciada SQL do Azure pode levar um tempo significativo, mas não requer nenhuma migração.

Desempenho de E/S

O desempenho de E/S pode ser crítico para uma aplicação de base de dados. O SQL do Azure abstrai o posicionamento do ficheiro físico, mas existem métodos para garantir que obtém o desempenho de E/O necessário.

As operações de entrada/saída por segundo (IOPS) podem ser importantes para a sua aplicação. Certifique-se de ter escolhido a camada de serviço e vCores certos para suas necessidades de IOPS. Compreenda como medir o IOPS para as suas consultas no local se estiver a migrar para o Azure. Se tiver restrições de IOPS, poderá ver longas esperas de E/S. No modelo de compra vCore, você pode escalar vCores ou mudar para Business Critical ou Hyperscale se não tiver IOPS suficientes. Para cargas de trabalho de produção, ao usar DTU, recomendamos mudar para o nível Premium.

A latência de E/S é outro componente importante para o desempenho de E/S. Para uma latência de E/S mais rápida para a Base de Dados SQL do Azure, considere a opção Crítico para a Empresa ou Hyperscale. Para obter uma latência de E/S mais rápida no SQL Managed Instance, passe para a opção Crítico para a Empresa ou aumente o tamanho do ficheiro ou o número de ficheiros da base de dados. Melhorar a latência do log de transações pode exigir que você use transações de várias instruções.

Aumentar a memória ou os trabalhos

Ter memória ou trabalhos suficientes pode ser importante para a sua aplicação e implementação. Para a Base de Dados SQL do Azure, aumente verticalmente os vCores para limites de memória ou trabalhos mais elevados. No SQL Managed Instance, aumente verticalmente os vCores para um limite de memória mais elevado. De momento, o SQL Managed Instance também suporta o aumento de trabalhos através de "máximo de threads de trabalho".

Melhorar a latência da aplicação

Mesmo que configure a sua implementação para todas as suas necessidades de recursos, as aplicações podem apresentar problemas de desempenho de latência. Certifique-se de que segue estas melhores práticas com as aplicações do SQL do Azure:

  • Utilize um tipo de ligação de redirecionamento em vez de um proxy.
  • Otimize as aplicações com muita atividade com procedimentos armazenados ou com limites no número de ações de ida e volta de consultas através de técnicas como lotes.
  • Otimize as transações ao agrupá-las, em vez de utilizar transações singleton.

Otimizar como se fosse o SQL Server

O SQL do Azure continua a ser o SQL Server. Quase nunca há um substituto para garantir que otimiza as consultas do SQL Server e que analisa os seguintes fatores:

  • Estrutura adequada do índice
  • Utilização de lotes
  • Utilização de procedimentos armazenados
  • Parametrização de consultas para evitar muitas consultas ad hoc armazenadas em cache
  • O processamento dos resultados na sua candidatura de forma rápida e correta

No próximo exercício, você pegará o problema de desempenho do primeiro exercício e o melhorará dimensionando CPUs para SQL do Azure.