Visão geral da performance

Nesta página, descrevemos o desempenho aproximado que o Spanner pode 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 aos bancos de dados GoogleSQL e PostgreSQL.

Melhorias no desempenho e no armazenamento

As melhorias de desempenho e armazenamento estão sendo lançadas para toda a configuração de instâncias regionais e multirregionais do Spanner. Essas melhorias de desempenho devem resultar em maior capacidade e melhor latência nos nós do Spanner nas configurações de instâncias regionais e multirregionais. Capacidade e armazenamento maiores estão disponíveis em algumas configurações de instâncias. Você não precisa fazer nenhuma alteração no aplicativo nem configurar manualmente nada nas instâncias do Spanner para aproveitar essas melhorias, que são oferecidas sem custo adicional.

Maior capacidade de processamento de desempenho

A tabela a seguir fornece a capacidade aproximada (consultas por segundo) das configurações de instância com desempenho aprimorado. Cada nó (1.000 unidades de processamento) de capacidade de computação na instância tem até 50% mais capacidade.

Tipo de configuração da instância Pico de leituras (QPS por região)   Pico de gravações (total de QPS)
Regional 22.500 ou 3.500
Multirregional 15.000 ou 2.700

A capacidade de aumento do desempenho está disponível para todas as configurações da instância do Spanner, exceto:

  • Configurações de instâncias regionais: us-west4

  • Configurações de instâncias multirregionais: nam10, nam-eur-asia1

Para informações sobre a capacidade de processamento de desempenho dessas configurações de instância, consulte Desempenho em cargas de trabalho típicas.

A orientação de leitura é fornecida por região, já que as leituras podem ser disponibilizadas por qualquer região de leitura/gravação ou somente leitura, enquanto a orientação de gravação serve para toda a configuração. A orientação de leitura pressupõe que você está lendo linhas únicas de 1 KB. A orientação de gravação pressupõe que você esteja gravando linhas únicas a 1 KB de dados por linha.

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 uma instância do Spanner de região única com dois nós puder fornecer até 45.000 leituras por segundo, uma instância do Spanner de região única com quatro nós poderá fornecer até 90.000 leituras por segundo.

Se você não estiver vendo o desempenho desejado para sua carga de trabalho do Spanner, consulte Como solucionar problemas de regressões de desempenho para informações sobre causas comuns.

Mais armazenamento

Para algumas 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 maior de 10 TB. A tabela a seguir mostra as configurações da instância com o aumento do armazenamento disponível:

Configurações de instâncias regionais

africa-south1, asia-east1, asia-northeast2, asia-south1, asia-southeast1, australia-southeast1, europe-west3, europe-west4, southamerica-east1, us-central2, us-east1, us-east4, us-east7

Configurações de instâncias multirregionais

asia1, nam6, nam7, nam8, nam14

Desempenho em cargas de trabalho típicas

Se a configuração da instância que você está usando não tiver passado por uma capacidade de desempenho aprimorada, cada nó (1.000 unidades de processamento) da capacidade de computação na sua instância pode fornecer a seguinte capacidade aproximada (consultas por segundo):

Tipo de configuração da instância Pico de leituras (QPS por região)   Pico de gravações (total de QPS)
Regional 15.000 ou 2.300
Multirregional (Detalhamento por configuração base) 10.000 ou 1.800

Para configurações de instância regionais que permitem réplicas opcionais somente leitura, a réplica opcional somente leitura pode aceitar mais 5.000 leituras por segundo.

Desempenho para configurações multirregionais

Cada configuração de instância multirregional do Spanner tem características de desempenho ligeiramente diferentes com base na topologia de replicação.

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

Nome da configuração base Pico aproximado de leituras (QPS por região) 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 10.000 1.800
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
nam-eur-asia1 10.000 1.000
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 região em vez de duas.

A orientação de leitura é fornecida por região, porque as leituras podem ser disponibilizadas de qualquer lugar, enquanto a orientação de gravação serve para toda a configuração. As orientações de leitura e gravação pressupõem que você esteja lendo e gravando linhas únicas a 1 KB de dados por linha.

Executar cargas de trabalho típicas no Spanner

Sempre execute suas próprias cargas de trabalho típicas em uma instância do Spanner ao fazer o planejamento de capacidade para descobrir a melhor alocação de recursos para seus aplicativos. O PerfKit Benchmarker do Google usa o YCSB para comparar serviços de nuvem. Siga o tutorial do PerfKitBenchmarker para o Spanner (em inglês) para criar testes para suas próprias cargas de trabalho. Ao fazer isso, ajuste os parâmetros nos arquivos yaml de configuração da comparação para garantir que a comparação gerada reflita as seguintes características no seu ambiente de produção:

Reproduzir números de comparações

Para reproduzir os números do comparativo de mercado, siga o tutorial Como comparar o Spanner com o PerfKit Benchmarker usando os arquivos yaml correspondentes na pasta throughput_benchmark.

Para comparar instâncias em uma configuração que passou por melhorias de desempenho, verifique se os testes estão em execução em uma dessas configurações de instância aprimoradas.

Proteção contra falhas em zonas e regiões

Ao executar cargas de trabalho em produção, é importante provisionar capacidade de computação suficiente para continuar a disponibilizar o tráfego em caso de perda de uma zona inteira (para instâncias regionais) ou de uma região inteira (para instâncias multirregionais). Consulte alertas de alta utilização da CPU para mais informações sobre a CPU máxima recomendada.

A seguir