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 do GoogleSQL e do PostgreSQL.
Melhorias de desempenho e armazenamento
As melhorias de desempenho e armazenamento foram lançadas para todas as configurações de instâncias regionais, birregionais e multirregionais do Spanner. Não é necessário fazer mudanças no aplicativo nem configurar manualmente nada nas instâncias do Spanner para aproveitar essas melhorias, que são oferecidas sem custo financeiro adicional. Essas melhorias de desempenho resultam em maior capacidade de processamento e melhor latência nos nós do Spanner em todas as configurações de instância.
Maior capacidade de processamento
Todas as configurações de instância do Spanner têm desempenho aprimorado e oferecem maior capacidade de processamento. A tabela a seguir mostra a capacidade aproximada (consultas por segundo) para estas configurações de instância do Spanner:
| Tipo de configuração de instância | Leituras de pico (QPS por região) | Gravações de pico (QPS total) | Pico de gravações usando gravações otimizadas para capacidade de processamento (QPS total) | ||
|---|---|---|---|---|---|
| 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 capacidade de desempenho dessas configurações de instância, consulte Desempenho para cargas de trabalho típicas. Para mais informações sobre o uso de unidades de estado sólido (SSD) e unidades de disco rígido (HDD) para armazenar seus dados, consulte Visão geral do armazenamento em níveis.
As orientações de leitura são dadas por região (porque as leituras podem ser disponibilizadas em qualquer região de leitura/gravação ou somente leitura), enquanto as orientações de gravação são para toda a configuração. As orientações de leitura pressupõem que você está lendo linhas únicas de 1 KB. As orientações de gravação pressupõem que você está gravando linhas únicas com 1 KB de dados por linha.
Para atingir o desempenho máximo de gravação com gravações otimizadas para capacidade, defina um atraso de lote de 100 ms. Para mais informações, consulte Gravações otimizadas para capacidade.
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 2 nós pode fornecer até 45.000 leituras por segundo, uma instância do Spanner de região única com 4 nós pode fornecer até 90.000 leituras por segundo.
Se a carga de trabalho do Spanner não atingir o desempenho esperado, consulte Solução de problemas de regressões de desempenho de consulta para informações sobre causas comuns.
Mais armazenamento
Para todas as configurações de instâncias regionais, birregionais 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 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.
Desempenho para configurações regionais
Cada 1.000 unidades de processamento (1 nó) de capacidade de computação pode fornecer o seguinte desempenho de pico (com 100% de CPU) em uma configuração de instância regional:
| Leituras de pico (QPS por região) | Gravações de pico (QPS total) | Pico de gravações usando gravações otimizadas para capacidade de processamento (QPS total) | ||
|---|---|---|---|---|
| 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 oferecem suporte a réplicas somente leitura opcionais, cada réplica somente leitura opcional fornece mais 7.500 leituras por segundo para armazenamento em SSD e 500 leituras por segundo para armazenamento em HDD.
Desempenho para configurações birregionais
Cada 1.000 unidades de processamento (1 nó) de capacidade de computação oferece o seguinte desempenho máximo (com 100% de CPU) em uma configuração de instância birregional. Para aumentar a capacidade de gravação além dos números na tabela, use gravações otimizadas para capacidade. Para mais informações, consulte Gravações otimizadas para capacidade de processamento.
| Nome da configuração básica | Leituras de pico aproximadas (QPS por região) | Gravações de pico aproximadas (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 |
As orientações de leitura se aplicam por região, porque qualquer região pode exibir leituras, enquanto as orientações de gravação se aplicam a toda a configuração. Essas orientações pressupõem que você lê e grava linhas únicas com 1 KB de dados por linha.
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. 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 pode fornecer o seguinte desempenho de pico (com 100% de CPU):
| Nome da configuração básica | Leituras de pico aproximadas (QPS por região) | Gravações de pico aproximadas (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-east17.500 em us-west1 e us-west2HDD: 1.000 em us-central1 e us-east1500 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-west1eus-west2fornecem apenas metade do desempenho de QPS porque contêm uma réplica por região em vez de duas.
As orientações de leitura se aplicam por região, porque qualquer região pode exibir leituras, enquanto as orientações de gravação se aplicam a toda a configuração. Essas orientações pressupõem que você lê e grava linhas únicas com 1 KB de dados por linha.
Executar 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 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. Para criar testes para suas
próprias cargas de trabalho, siga o
tutorial do PerfKitBenchmarker para o Spanner.
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:
- Tamanho total do banco de dados
- Esquema (por exemplo, tamanho da chave de linha, número de colunas e tamanhos de dados de linha)
- Padrão de acesso de dados (distribuição de chaves de linha)
- Combinação de leituras e gravações
- Tipo e complexidade das consultas
Reproduzir números de comparativo de mercado
Para reproduzir os números do comparativo de mercado, siga o tutorial
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 zonais e regionais
Ao executar as cargas de trabalho na produção, é importante provisionar capacidade de computação suficiente para continuar atendendo ao tráfego no caso de perda de uma zona inteira (para instâncias regionais) ou de uma região inteira (para instâncias birregionais e multirregionais). Para mais informações sobre o máximo de CPU recomendado, consulte alertas para alta utilização de CPU.
A seguir
- Saiba como criar 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.