VENDAS: 1-800-867-1389

Visão geral dos parâmetros de comparação do Banco de dados SQL do Azure

Atualizado: junho de 2014

O Banco de Dados SQL do Azure oferece três camadas de serviço: Basic, Standard e Premium com vários níveis de desempenho: Basic, S1, S2, P1, P2 e P3. Cada nível de desempenho fornece um conjunto cada vez mais amplo de recursos, ou "potência", para proporcionar graus progressivos de produtividade.

É importante que seja possível quantificar como o aumento de capacidade de cada nível de desempenho se traduz no aumento do desempenho do banco de dados. Para fazer isso, a Microsoft desenvolveu o ASDB (Referencial de Banco de Dados SQL do Azure). O parâmetro de comparação põe em prática uma combinação de operações básicas encontradas em todas as cargas de trabalho OLTP. Medimos a taxa de transferência obtida para bancos de dados em execução em cada nível de desempenho.

Os recursos e a capacidade de cada camada de serviço e nível de desempenho são expressos em termos de DTUs (unidades de taxa de transferência de banco de dados). DTUs fornecem uma maneira de descrever a capacidade relativa de um nível de desempenho com base em uma medida combinada de taxas de CPU, memória e leitura/gravação oferecidas por cada nível de desempenho. O dobro da taxa de DTU de um banco de dados equivale ao dobro de capacidade do banco de dados. O referencial nos permite avaliar o impacto sobre o desempenho do banco de dados resultante da potência progressiva oferecida por cada nível de desempenho por meio da aplicação de operações de banco de dados reais, expandindo ao mesmo tempo o tamanho do banco de dados, o número de usuários e as taxas de transação em proporção direta aos recursos fornecidos para o banco de dados.

Ao expressar a taxa de transferência da camada de serviço Basic usando transações por hora, da camada de serviço Standard usando transações por minuto e da camada de serviço Premium usando transações por segundo, fica mais fácil relacionar rapidamente o potencial de desempenho de cada camada de serviço com os requisitos de um aplicativo.

As seções a seguir fornecem informações sobre os níveis de desempenho do Banco de Dados SQL do Azure.

A tabela a seguir resume os resultados da execução do referencial em cada nível de desempenho. Esses resultados estão sujeitos a alterações, pois as camadas de serviço e os níveis de desempenho estão na versão Preview, podendo ser ajustados antes da fase de Disponibilidade Geral. Embora qualquer ajuste possa ter impacto sobre a taxa de transferência absoluta obtida por cada nível de desempenho, não se espera que a taxa de transferência relativa de cada nível de desempenho sofra alterações significativas.

 

Camada de serviço
  • Nível de desempenho

DTU Taxa de transação medida

Basic

  • Basic

5

17.805 transações por hora

Standard

  • S1

15

782 transações por minuto

  • S2

50

2.954 transações por minuto

Premium

  • P1

100

98 transações por segundo

  • P2

200

192 transações por segundo

  • P3

800

730 transações por segundo

É importante entender que, assim como todos os parâmetros de comparação, o ASDB é apenas representativo e indicativo. As taxas de transações obtidas com o aplicativo de parâmetro de comparação talvez não sejam as mesmas obtidas com outros aplicativos. O parâmetro de comparação consiste em um conjunto de tipos de transações diferentes executadas em um esquema que contém diversos tipos de dados e tabelas. Embora o parâmetro de comparação ponha em prática as mesmas operações básicas comuns a todas as cargas de trabalho OLTP, ele não representa uma classe específica de banco de dados ou aplicativo. A finalidade do parâmetro de comparação é oferecer um guia razoável quanto ao desempenho relativo que pode ser esperado de um banco de dados após a alternância entre os níveis de desempenho. Na realidade, os bancos de dados apresentam diferentes tamanhos e graus de complexidade, lidam com diferentes combinações de cargas de trabalho e responderão de formas diferentes. Por exemplo, um aplicativo que utiliza a E/S ou a CPU intensamente pode atingir os limites de E/S ou de CPU mais cedo. Não há garantia de que um banco de dados específico se dimensionará da mesma maneira que o parâmetro de comparação em função de um aumento da carga.

O referencial e sua metodologia são descritos com mais detalhes a seguir.

O ASDB mede o desempenho de uma combinação de operações básicas de banco de dados que ocorrem com mais frequência em cargas de trabalho OLTP. Embora o parâmetro de comparação tenha sido projetado voltado para a computação em nuvem, o esquema de banco de dados, o preenchimento de dados e as transações foram projetados para ser amplamente representativos dos elementos básicos mais usados em cargas de trabalho OLTP.

O esquema foi projetado de forma a ter bastante variedade e complexidade para dar suporte a uma ampla gama de operações. O referencial é executado em um banco de dados formado por seis tabelas. As tabelas se enquadram em três categorias: de tamanho fixo, de expansão e de progressão. Existem duas tabelas de tamanho fixo; três tabelas de expansão e uma tabela de progressão. Tabelas de tamanho fixo têm um número constante de linhas. Tabelas de expansão têm uma cardinalidade que é proporcional ao desempenho do banco de dados, mas que não muda durante o referencial. A tabela de progressão é dimensionada como uma tabela de expansão na ocasião da carga inicial, mas, em seguida, a cardinalidade sofre alterações no decorrer da execução do referencial, à medida que linhas são inseridas e excluídas.

O esquema inclui uma combinação de tipos de dados, incluindo inteiros, numéricos, caracteres e data/hora. O esquema inclui chaves primárias e secundárias, mas não chaves estrangeiras, ou seja, não há restrições de integridade referencial entre as tabelas.

Um programa de geração de dados gera os dados para o banco de dados inicial. Dados numéricos e inteiros são gerados com várias estratégias. Em alguns casos, os valores são distribuídos aleatoriamente ao longo de uma escala. Em outros casos, um conjunto de valores é aleatoriamente permutado para garantir que uma distribuição específica seja mantida. Campos de texto são gerados a partir de uma lista de palavras ponderada para produzir dados de aparência realista.

O banco de dados é dimensionado com base em um "fator de escala". O fator de escala (abreviado como SF) determina a cardinalidade das tabelas de expansão e progressão. Conforme descrito a seguir na seção "Usuários e adequação", o tamanho do banco de dados, o número de usuários e o desempenho máximo são dimensionados uns em proporção aos outros.

A carga de trabalho consiste em nove tipos de transação, como mostra a tabela a seguir. Cada transação foi projetada para destacar um determinado conjunto de características do sistema no mecanismo do banco de dados e no hardware do sistema, com alto contraste em comparação às outras transações. Essa abordagem facilita a avaliação do impacto dos diferentes componentes no desempenho geral. Por exemplo, a transação "Leitura intensa" gera um número significativo de operações de leitura do disco.

 

Tipos de transação Descrição

Leitura simples

SELECT; na memória; somente leitura

Leitura média

SELECT; maior parte na memória; somente leitura

Leitura intensa

SELECT; maior parte fora da memória; somente leitura

Atualização simples

UPDATE; na memória; leitura/gravação

Atualização intensa

UPDATE; maior parte fora da memória; leitura/gravação

Inserção simples

INSERT; na memória; leitura/gravação

Inserção intensa

INSERT; maior parte fora da memória; leitura/gravação

Excluir

DELETE; combinação de na memória e fora da memória; leitura/gravação

CPU intensa

SELECT; na memória; carga de CPU relativamente intensa; somente leitura

Transações são selecionadas aleatoriamente em uma distribuição ponderada com a seguinte combinação geral. Essa combinação geral tem uma proporção de leitura/gravação de aproximadamente 2:1.

 

Tipos de transação % de combinação

Leitura simples

35

Leitura média

20

Leitura intensa

5

Atualização simples

20

Atualização intensa

3

Inserção simples

3

Inserção intensa

2

Excluir

2

CPU intensa

10

A carga de trabalho do referencial é direcionada a partir de uma ferramenta que envia transações através de um conjunto de conexões a fim de simular o comportamento de vários usuários simultâneos. Embora todas as conexões e transações sejam geradas por máquina, para manter a simplicidade, fazemos referência a elas como "usuários". Embora cada usuário opere independentemente dos demais, todos eles realizam o mesmo ciclo de etapas exibido abaixo:

  1. Estabeleça uma conexão de banco de dados.

  2. Repita até receber um sinal para sair:

    1. Selecione uma transação aleatoriamente (de uma distribuição ponderada).

    2. Realize a transação selecionada e meça o tempo de resposta.

    3. Aguarde um atraso de adequação.

  3. Feche a conexão de banco de dados.

  4. Saia.

O atraso de adequação (na etapa 2c) é selecionado aleatoriamente, mas com uma distribuição cuja média é de 1,0 segundo. Dessa forma, cada usuário pode em média gerar no máximo uma transação por segundo.

O número de usuários é determinado pelo tamanho do banco de dados (em unidades de fator de escala). Há um usuário para cada cinco unidades de fator de escala. Devido ao atraso de adequação, um usuário pode gerar no máximo uma transação por segundo, em média.

Por exemplo, um banco de dados com fator de escala de 500 (SF=500) terá 100 usuários, podendo atingir uma taxa máxima de 100 TPS. Uma taxa de TPS mais alta exige mais usuários e um banco de dados maior.

A tabela abaixo mostra o número de usuários realmente mantidos para cada camada de serviço e nível de desempenho, juntamente com as taxas de transação mais altas que foram alcançadas.

 

Camada de serviço
  • Nível de desempenho

Taxa de transação medida Usuários Tamanho do banco de dados

Basic

  • Basic

17.805 transações por hora

5

160 MB

Standard

  • S1

782 transações por minuto

15

750 MB

  • S2

2.954 transações por minuto

50

3,6 GB

Premium

  • P1

98 transações por segundo

100

14 GB

  • P2

192 transações por segundo

200

28 GB

  • P3

730 transações por segundo

800

114 GB

Uma execução válida do referencial requer uma duração das medições em estado constante de pelo menos uma hora.

As principais métricas no referencial são a taxa de transferência e o tempo de resposta.

  • A taxa de transferência é a medida de desempenho essencial no referencial. Ela é informada em transações por unidade de tempo, contando todos os tipos de transação.

  • O tempo de resposta é uma medida da previsibilidade do desempenho. A restrição de tempo de resposta varia dependendo da classe de serviço, sendo que as classes de serviço mais altas têm um requisito de tempo de resposta mais rigoroso, conforme mostrado abaixo.

 

Classe de serviço Medição da taxa de transferência Requisito de tempo de resposta

Premium

Transações por segundo

95º percentil em 0,5 segundo

Standard

Transações por minuto

90º percentil em 1,0 segundo

Basic

Transações por hora

80º percentil em 2,0 segundos

O Referencial de Banco de Dados SQL do Azure mede o desempenho relativo de um Banco de Dados SQL do Azure em execução por toda a gama de camadas de serviço e níveis de desempenho disponíveis. Esse referencial coloca em prática uma combinação de operações básicas de banco de dados que ocorrem com mais frequência em cargas de trabalho de OLTP (processamento de transações online). Ao medir o desempenho real, o referencial fornece uma avaliação do impacto sobre a taxa de transferência decorrente da alteração do nível de desempenho que é mais significativa do que seria possível com uma simples listagem dos recursos fornecidos por cada nível, como velocidade da CPU, tamanho de memória e IOPS, entre outros. No futuro, continuaremos a desenvolver esse referencial para ampliar seu escopo e expandir os dados fornecidos.

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2014 Microsoft