Visão geral da performance

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

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

Melhorias no desempenho e no armazenamento

As melhorias de desempenho e armazenamento foram lançadas para todas as configurações de instância regional, birregional e multirregional do Spanner. Não é necessário fazer nenhuma mudança no aplicativo ou configurar manualmente nada nas instâncias do Spanner para aproveitar essas melhorias, que são oferecidas sem custo extra. Essas melhorias de desempenho resultam em maior capacidade de processamento e menor latência nos nós do Spanner em todas as configurações de instância.

Aumento da capacidade de processamento

Todas as configurações de instância do Spanner melhoraram o desempenho e oferecem maior capacidade de processamento. A tabela a seguir mostra o throughput aproximado (consultas por segundo) para as configurações de instâncias do Spanner:

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 de processamento (total de QPS)
Regional SSD: 22.500
HDD: 1.500
ou SSD: 3.500
HDD: 3.500
SSD: 22.500
HDD: 22.500
Birregional e multirregional SSD: 15.000
HDD: 1.000
ou SSD: 2.700
HDD: 2.700
SSD: 15.000
HDD: 15.000

Para informações sobre o desempenho de transferência dessas configurações de instância, consulte Desempenho em cargas de trabalho típicas. Para mais informações sobre como usar unidades de estado sólido (SSD, na sigla em inglês) e unidades de disco rígido (HDD, na sigla em inglês) para armazenar dados, consulte Visão geral do armazenamento em camadas.

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

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

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

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

Mais armazenamento

Para todas as configurações de instâncias regionais, de duas regiões 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.

Desempenho em cargas de trabalho típicas

Todas as configurações de instância do Spanner melhoraram o desempenho e oferecem maior capacidade de processamento.

Desempenho em configurações regionais

Cada 1.000 unidades de processamento (1 nó) de capacidade de computação podem fornecer o seguinte desempenho máximo (a 100% de CPU) em uma configuração de 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 de processamento (total de QPS)
SSD: 22.500
HDD: 1.500
ou SSD: 3.500
HDD: 3.500
SSD: 22.500
HDD: 22.500

Para configurações de instâncias regionais que permitem réplicas somente leitura opcionais, a réplica somente leitura opcional pode oferecer suporte a mais 7.500 leituras por segundo para armazenamento SSD e 500 leituras por segundo para armazenamento HDD.

Desempenho de configurações birregionais

Cada 1.000 unidades de processamento (1 nó) de capacidade de computação podem fornecer o seguinte desempenho máximo (a 100% de CPU) em uma configuração de instância de região dupla. Use as gravações otimizadas de capacidade para aumentar a capacidade de gravação além dos números na tabela.

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

A orientação de leitura é fornecida por região, porque as leituras podem ser disponibilizadas em qualquer lugar, enquanto a orientação de gravação se refere a toda a configuração. As orientações de leitura e gravação pressupõem que você está lendo e gravando linhas simples com 1 KB de dados por linha.

Desempenho de 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. Use gravações otimizadas de throughput para aumentar 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 podem fornecer o seguinte desempenho máximo (a 100% de CPU):

Nome da configuração básica Pico de leituras aproximado (QPS por região) Pico de gravações aproximado (total de QPS)
asia1 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
asia2 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
eur3 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
eur5 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
eur6 SSD: 15.000, 7.500 para cada réplica somente leitura opcional
HDD: 1.000, 500 para cada réplica somente leitura opcional
SSD: 2.700
HDD: 2.700
eur7 SSD: 15.000, 7.500 para cada réplica somente leitura opcional
HDD: 1.000, 500 para cada réplica somente leitura opcional
SSD: 2.700
HDD: 2.700
nam3 SSD: 15.000, 7.500 para cada réplica somente leitura opcional
HDD: 1.000, 500 para cada réplica somente leitura opcional
SSD: 2.700
HDD: 2.700
nam6 SSD: 15.000 em us-central1 e us-east1
7.500 em us-west1 e us-west2
HDD: 1.000 em us-central1 e us-east1
500 em us-west1 e us-west2 [1]
SSD: 2.700

HDD: 2.700
nam7 SSD: 15.000, 7.500 para cada réplica somente leitura opcional
HDD: 1.000, 500 para cada réplica somente leitura opcional
SSD: 2.700
HDD: 2.700
nam8 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
nam9 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
nam10 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
nam11 SSD: 15.000, 7.500 para cada réplica somente leitura opcional
HDD: 1.000, 500 para cada réplica somente leitura opcional
SSD: 2.700
HDD: 2.700
nam12 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
nam13 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
nam14 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
nam15 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
nam16 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
nam-eur-asia1 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
nam-eur-asia3 SSD: 15.000
HDD: 1.000
SSD: 2.700
HDD: 2.700
  • [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 em qualquer lugar, enquanto a orientação de gravação se refere a toda a configuração. As orientações de leitura e gravação pressupõem que você está lendo e gravando linhas simples com 1 KB de dados por linha.

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ê descobre 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 e crie 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 comparativo de mercado

Para reproduzir os números de comparativo de mercado, siga o tutorial de comparativo de mercado do 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 sendo executados em uma dessas configurações de instância aprimoradas.

Proteção contra falhas regionais e por zona

Ao executar cargas de trabalho em produção, é importante provisionar capacidade computacional suficiente para continuar a veicular o tráfego em caso de perda de uma zona inteira (para instâncias regionais) ou de uma região inteira (para instâncias de duas e várias regiões). Para mais informações sobre a CPU máxima recomendada, consulte Alertas para alta utilização da CPU.

A seguir