Visão geral da performance

Nesta página, descrevemos o desempenho aproximado que o Spanner consegue fornecer em condições ideais, fatores que podem afetar o desempenho e dicas para testar e solucionar problemas de desempenho do Spanner.

As informações nesta página se aplicam ao GoogleSQL e ao bancos de dados PostgreSQL.

Melhorias de desempenho e armazenamento

As melhorias de desempenho e armazenamento estão sendo lançadas para todas as configurações de instâncias regionais e multirregionais do Spanner. Você não precisa fazer quaisquer alterações no aplicativo ou configurar manualmente algo do instâncias do Spanner para aproveitar as melhorias, que são oferecidos sem custo adicional. Essas melhorias de desempenho resultam em maior capacidade de processamento e latência nos nós do Spanner em configurações de instâncias regionais e multirregionais. Todas as configurações da instância aumentaram a capacidade de processamento e algumas configurações de instância armazenamento.

Maior capacidade de desempenho

Todas as configurações de instância do Spanner têm um desempenho melhorado e oferecem maior throughput. A tabela a seguir mostra Capacidade de processamento (consultas por segundo) da instância do Spanner de configuração:

Tipo de configuração da instância Pico de leituras (QPS por região)   Pico de gravações (total de QPS)   Pico de gravações usando gravações otimizadas de capacidade (total de QPS)
Regional 22.500 ou 3.500 22.500
Birregional e multirregional 15.000 ou 2.700 15.000

Para mais informações sobre a capacidade de processamento do desempenho consulte Desempenho em cargas de trabalho típicas.

As orientações de leitura são fornecidas por região (porque as leituras podem ser fornecidas de qualquer leitura-gravação ou somente leitura), enquanto a orientação de gravação se destina configuração do Terraform. As orientações de leitura pressupõem que você esteja lendo linhas únicas de 1 KB. Gravação a orientação pressupõe que você está gravando linhas simples a 1 KB de dados por linha.

O pico de desempenho de gravação com gravações de capacidade otimizada é alcançado usando uma atraso de lote de 100 ms.

Em geral, as capacidades de leitura e gravação de uma instância do Spanner são escalonadas linearmente à medida que você adiciona mais capacidade de computação (nós ou unidades de processamento) à instância. Por exemplo, se um Spanner de uma única região com dois nós pode fornecer até 45.000 leituras por segundo, de uma instância do Spanner com quatro nós 90 mil leituras por segundo.

Se você não estiver vendo o desempenho esperado para sua carga de trabalho do Spanner, consulte Solução de problemas de regressões de desempenho para saber mais sobre as causas comuns.

Mais armazenamento

Para a maioria das configurações de instâncias regionais e multirregionais do Spanner, cada nó (1.000 unidades de processamento) de capacidade de computação na instância tem uma capacidade de armazenamento aumentada de 10 TB. O aumento de armazenamento está disponível para todas as configurações de instâncias do Spanner, exceto:

Configurações de instâncias regionais

us-west4, us-west8

Configurações de instâncias multirregionais

nam10, nam-eur-asia1

Desempenho em cargas de trabalho típicas

Todas as configurações de instâncias do Spanner melhoraram o desempenho e aumentar a capacidade de processamento.

Desempenho em configurações regionais

Cada 1.000 unidades de processamento (1 nó) de capacidade de computação pode fornecer após o pico de desempenho (com 100% da CPU) na configuração de uma instância regional:

Pico de leituras (QPS por região)   Pico de gravações (total de QPS)   Pico de gravações usando gravações otimizadas de capacidade (total de QPS)
22.500 ou 3.500 22.500

Para configurações de instâncias regionais que permitem réplicas somente leitura opcionais, a réplica somente leitura opcional oferece suporte 5.000 leituras por segundo.

Desempenho para configurações birregionais

Cada 1.000 unidades de processamento (1 nó) de capacidade de computação pode fornecer após o desempenho máximo (com 100% da CPU) em uma configuração de instância birregional. Usar gravações otimizadas para capacidade para aumentar a capacidade de gravação além dos números na tabela.

Nome da configuração básica Pico de leituras (QPS por região) aproximado Pico de gravação aproximado (total de QPS)
dual-region-australia1 15.000 2.700
dual-region-germany1 15.000 2.700
dual-region-india1 15.000 2.700
dual-region-japan1 15.000 2.700

As orientações de leitura são fornecidas por região (porque as leituras podem ser em qualquer lugar), enquanto a orientação de gravação é para toda a configuração. Leitura e gravação orientação pressupõem que você está lendo e gravando linhas simples a 1 KB de dados por linha de comando.

Desempenho para configurações multirregionais

Cada configuração de instância multirregional do Spanner tem diferentes características de desempenho com base na topologia de replicação. Usar gravações de capacidade otimizada para aumente a capacidade de gravação além dos números na tabela.

Cada 1.000 unidades de processamento (1 nó) de capacidade de computação pode fornecer após o desempenho máximo (com 100% da CPU):

Nome da configuração básica Pico de leituras (QPS por região) aproximado Pico de gravação aproximado (total de QPS)
asia1 15.000 2.700
asia2 15.000 2.700
eur3 15.000 2.700
eur5 15.000 2.700
eur6 15.000
7.500 para cada réplica somente leitura opcional
2.700
nam3 15.000
7.500 para cada réplica somente leitura opcional
2.700
nam6 15.000 em us-central1 e us-east1
7.500 em us-west1 e us-west2 [1]
2.700
nam7 15.000
7.500 para cada réplica somente leitura opcional
2.700
nam8 15.000 2.700
nam9 15.000 2.700
nam10 15.000 2.700
nam11 15.000
7.500 para cada réplica somente leitura opcional
2.700
nam12 15.000 2.700
nam13 15.000 2.700
nam14 15.000 2.700
nam15 15.000 2.700
nam16 15.000 2.700
nam-eur-asia1 15.000 1.500
nam-eur-asia3 15.000 1.500
  • [1]: us-west1 e us-west2 fornecem apenas metade do desempenho de QPS porque contêm uma réplica por em vez de duas.

As orientações de leitura são fornecidas por região (porque as leituras podem ser em qualquer lugar), enquanto a orientação de gravação é para toda a configuração. Leitura e gravação orientação pressupõem que você está lendo e gravando linhas simples a 1 KB de dados por linha de comando.

Execute suas cargas de trabalho típicas no Spanner

Sempre execute suas próprias cargas de trabalho típicas em uma instância do Spanner ao planejar a capacidade. Assim, você descobrirá a melhor alocação de recursos para seus aplicativos. O PerfKit Benchmarker do Google usa YCSB para comparar serviços de nuvem. Você pode siga o tutorial do PerfKitBenchmarker para o Spanner. para criar testes para suas próprias cargas de trabalho. Ao fazer isso, ajuste os parâmetros nos arquivos de configuração de comparativo de mercado yaml para garantir que o comparativo de mercado gerado reflita as seguintes características no ambiente de produção:

Reproduzir números de comparação

Para reproduzir os números de comparação, siga o Tutorial de comparação do Spanner com o PerfKit Benchmarker usando os arquivos yaml correspondentes na classe throughput_benchmark do Compute Engine.

Para comparar instâncias em uma configuração de instância que passou de melhorias no desempenho, garanta que os testes sejam em execução em uma dessas configurações aprimoradas de instância.

Proteção contra falhas regionais e por zona

Ao executar suas cargas de trabalho na produção, é importante provisionar de computação para continuar veiculando o tráfego em caso de perda uma zona inteira (em instâncias regionais) ou uma região inteira (para instâncias birregionais e instâncias multirregionais). Para mais informações sobre a CPU máxima recomendada, consulte Alertas para alta utilização da CPU.

A seguir