Nesta página, descrevemos o desempenho aproximado que o Spanner pode fornecer em condições ideais, os 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 de desempenho e 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. Mais capacidade e armazenamento estão disponíveis em algumas configurações de instância. Não é necessário fazer alterações 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 desempenho
A tabela a seguir fornece a capacidade aproximada (consultas por segundo) de configurações de instância com desempenho aprimorado. Cada nó (1.000 unidades de processamento) de capacidade de computação na instância tem uma capacidade de processamento até 50% maior.
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 | |
Multirregional | 15.000 | ou | 2.700 | 15.000 |
O aumento da capacidade de desempenho está disponível para todas as configurações de 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 desempenho dessas configurações de instância, consulte Desempenho em cargas de trabalho típicas.
A orientação de leitura é fornecida por região, porque as leituras podem ser exibidas de qualquer região de leitura/gravação ou somente leitura, enquanto a orientação de gravação se aplica a toda a configuração. As orientações de leitura pressupõem que você esteja lendo linhas únicas de 1 KB. A orientação de gravação presume que você está gravando linhas únicas a 1 KB de dados por linha.
O pico de desempenho de gravação com gravações otimizadas para capacidade é 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 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 fornece as configurações da instância com maior armazenamento disponível:
Configurações de instâncias regionais |
|
---|---|
Configurações de instâncias multirregionais |
|
Desempenho em cargas de trabalho típicas
Se a configuração da instância que você está usando não tiver passado por uma melhoria de capacidade de desempenho, cada nó (1.000 unidades de processamento) de capacidade de computação na sua instância poderá 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âncias regionais que permitem réplicas somente leitura opcionais, a réplica somente leitura opcional 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. Use gravações de capacidade otimizada 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 pode fornecer o seguinte desempenho máximo (com 100% de 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 |
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
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 exibidas de qualquer lugar), enquanto a orientação de gravação é para toda a configuração. As orientações de leitura e gravação presumem que você esteja 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, é possível descobrir a melhor alocação de recursos para seus aplicativos. O PerfKit Benchmarker do Google usa o
YCSB (link em inglês) 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
ambiente de produção:
- Tamanho total do banco de dados
- Esquema (por exemplo: tamanho da chave de linha, número de colunas, tamanhos dos dados da linha)
- Padrão de acesso de dados (distribuição de chaves de linha)
- Mistura de leituras e gravações
- tipo e complexidade das consultas
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 (em inglês) 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 aprimoradas de instância.
Proteção contra falhas zonal e regional
Ao executar suas cargas de trabalho na 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 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
- Saiba como projetar um esquema do Spanner.
- Descubra como monitorar o desempenho do Spanner.
- Saiba como solucionar problemas com o Key Visualizer.
- Saiba mais sobre os preços do Spanner.