Acelerar e ajustar o desempenho
Entender suas opções para acelerar e ajustar o desempenho do SQL do Azure é fundamental para ir além na entrega de desempenho consistente. Isso inclui entender como dimensionar a capacidade da CPU, como aumentar o desempenho de E/S, como configurar a memória e os trabalhadores, como aprimorar a latência do aplicativo e como aplicar as melhores práticas padrão de ajuste do SQL Server.
Dimensionar a capacidade da CPU
Talvez seja necessário dimensionar o número de CPUs de acordo com suas necessidades de recursos. Para um ambiente local, isso exigiria reconfigurar uma VM, alterar o hardware e até mesmo migrar o banco de dados. O SQL Azure permite que você faça isso sem nenhuma migração de sua parte. Você pode usar o portal, o T-SQL, a CLI do Azure ou as APIs REST para escalar ou reduzir verticalmente o número de vCores em sua implantação.
O tempo de inatividade normalmente é necessário, mas ele pode ser bastante curto para o Banco de Dados SQL do Azure sem migração. As implantações de Hiperescala permitem escalar verticalmente em um período constante, independentemente do tamanho dos dados, e as implantações sem servidor permitem o dimensionamento automático com base na demanda da CPU.
Observação
O dimensionamento da Instância Gerenciada de 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 um aplicativo de banco de dados. O SQL Azure abstrai você do posicionamento físico dos arquivos, mas há métodos para garantir que você tenha o desempenho de E/S de que precisa.
O valor de IOPS (entrada/saída por segundo) pode ser importante para seu aplicativo. Certifique-se de que você tenha escolhido a camada de serviço e os vCores corretos para suas necessidades de IOPS. Saiba como medir a IOPS de suas consultas locais se estiver migrando para o Azure. Se tiver restrições quanto à IOPS, você poderá ver longas esperas de E/S. No modelo de compra do vCore, você pode escalar verticalmente vCores ou migrar para Comercialmente Crítico ou Hiperescala se não tiver IOPS suficiente. Para cargas de trabalho de produção, ao usar a DTU, recomendamos migrar para a camada Premium.
A latência de E/S é outro componente importante para o desempenho de E/S. Para ter uma latência de E/S mais rápida para o Banco de Dados SQL do Azure, considere a camada Comercialmente Crítico ou a Hiperescala. Para ter uma latência de E/S mais rápida para a Instância Gerenciada de SQL, passe para a camada Comercialmente Crítico ou aumente o tamanho do arquivo ou o número de arquivos do banco de dados. Melhorar a latência do log de transações pode exigir que você use transações com várias instruções.
Aumentar a memória ou os trabalhos
Ter memória ou trabalhos suficientes pode ser importante para seu aplicativo e sua implantação. Para o Banco de Dados SQL do Azure, escale os vCores verticalmente para ter limites de memória mais altos ou mais trabalhadores. Para a Instância Gerenciada de SQL, escale os vCores verticalmente para ter limites de memória mais altos. Atualmente, a Instância Gerenciada de SQL também dá suporte ao aumento dos trabalhos com "máx. de threads de trabalho".
Aprimorar a latência do aplicativo
Mesmo que você configure sua implantação de acordo com todas as suas necessidades de recursos, os aplicativos poderão introduzir problemas de desempenho de latência. Siga estas melhores práticas com aplicativos do SQL Azure:
- Usar um tipo de conexão de redirecionamento em vez de um proxy.
- Otimizar aplicativos "ruidosos" usando procedimentos armazenados ou limitando o número de viagens de ida e volta das consultas por meio de técnicas como lotes.
- Otimizar as transações agrupando-as, em vez de usar transações do tipo singleton.
Ajuste como o SQL Server
O SQL Azure ainda é o SQL Server. Quase nunca há um substituto melhor do que ajustar suas consultas do SQL Server e examinar o seguinte:
- Design de índice adequado
- Uso de lotes
- Uso de procedimentos armazenados
- Parametrizar consultas para evitar muitas consultas ad hoc armazenadas em cache
- Processamento de resultados em seu aplicativo de forma rápida e correta
No próximo exercício, você trabalhará no problema de desempenho do primeiro exercício e o aprimorará, dimensionando CPUs para o SQL do Azure.