Nesta página, descrevemos o desempenho aproximado que o Spanner pode alcançar 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 nesta 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 regionais, birregionais e multirregionais do Spanner. Não é necessário fazer mudanças no aplicativo nem configurar nada manualmente nas instâncias do Spanner para aproveitar essas melhorias, que são oferecidas sem custo adicional. Essas melhorias resultam em maior capacidade de processamento e melhor latência nos nós do Spanner em todas as configurações de instância.
Aumento da capacidade de processamento de performance
Todas as configurações de instância do Spanner têm desempenho aprimorado e oferecem maior capacidade de processamento. A tabela a seguir mostra o throughput aproximado (consultas por segundo) para 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 para 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 a taxa de transferência de desempenho 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) e de disco rígido (HDD) para armazenar seus 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. Na orientação de leitura, presume-se que você esteja lendo linhas simples de 1 KB. Na orientação de gravação, presume-se que você esteja gravando linhas simples a 1 KB de dados por linha.
O desempenho máximo de gravação usando gravações otimizadas para capacidade de gravação é alcançado com um 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 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 a performance esperada para sua carga de trabalho do Spanner, consulte Solução de problemas de regressões de performance para informações sobre causas comuns.
Mais armazenamento
Para todas as configurações de instância regional, birregional e multirregional 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 TiB.
Desempenho em cargas de trabalho típicas
Todas as configurações de instância do Spanner têm desempenho aprimorado e oferecem maior capacidade de processamento.
Performance para configurações regionais
Cada 1.000 unidades de processamento (1 nó) de capacidade de computação pode fornecer o seguinte desempenho máximo (a 100% da 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 para 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.
Performance para 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% da CPU) em uma configuração de instância de duas regiões. Use gravações otimizadas para capacidade e aumente a capacidade de gravação além dos números na tabela.
Nome da configuração básica | Pico de leitura aproximado (QPS por região) | Pico de gravação 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. Na orientação de leitura e gravação, presume-se que você esteja lendo e gravando linhas simples a 1 KB de dados por linha.
Performance 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. Use gravações otimizadas para capacidade de processamento para aumentar a capacidade de processamento 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% da CPU):
Nome da configuração básica | Pico de leitura aproximado (QPS por região) | Pico de gravação 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
eus-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. Na orientação de leitura e gravação, presume-se que você esteja lendo e gravando linhas simples a 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ê 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 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 seu
ambiente de produção:
- Tamanho total do banco de dados
- Esquema (por exemplo: tamanho da chave de linha, número de colunas, tamanhos de dados da linha)
- Padrão de acesso de dados (distribuição de chaves de linha)
- Combinação entre leituras e gravações
- Tipo e complexidade das consultas
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 fazer o comparativo de instâncias em uma configuração que passou por melhorias de performance, verifique se os testes estão sendo executados em uma dessas configurações de instância aprimoradas.
Proteção contra falhas zonais e regionais
Ao executar suas cargas de trabalho em produção, é importante provisionar capacidade de computação suficiente para continuar veiculando 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 região dupla e multirregionais). Para mais informações sobre a CPU máxima recomendada, consulte Alertas para alta utilização da CPU.
A seguir
- Saiba como projetar um esquema do Spanner.
- Saiba como monitorar o desempenho do Spanner.
- Saiba como resolver problemas com o Key Visualizer.
- Saiba mais sobre os preços do Spanner.