Esta página descreve o desempenho aproximado que o Spanner pode oferecer em condições ideais, os fatores que podem afetar o desempenho e sugestões para testar e resolver problemas de desempenho do Spanner.
As informações nesta página aplicam-se às bases de dados GoogleSQL e PostgreSQL.
Melhorias no desempenho e no armazenamento
As melhorias de desempenho e armazenamento foram implementadas em todas as configurações de instâncias regionais, de duas regiões e multirregionais do Spanner. Não tem de fazer alterações à sua aplicação nem configurar manualmente nada nas suas instâncias do Spanner para tirar partido destas melhorias, que são oferecidas sem custos adicionais. Estas melhorias de desempenho resultam num débito mais elevado e numa melhor latência nos nós do Spanner em todas as configurações de instâncias.
Débito de desempenho aumentado
Todas as configurações de instâncias do Spanner têm um desempenho melhorado e oferecem um débito aumentado. A tabela seguinte indica o débito aproximado (consultas por segundo) para as configurações de instâncias do Spanner:
Tipo de configuração da instância | Leituras de pico (CPS por região) | Pico de escritas (total de CPS) | Pico de gravações com gravações otimizadas para débito (QPS total) | ||
---|---|---|---|---|---|
Regional | SSD: 22 500 HDD: 1500 |
ou | SSD: 3500 HDD: 3500 |
SSD: 22 500 HDD: 22 500 |
|
Duas regiões e várias regiões | SSD: 15 000 HDD: 1000 |
ou | SSD: 2700 HDD: 2700 |
SSD: 15 000 HDD: 15 000 |
Para informações sobre o débito de desempenho destas configurações de instâncias, consulte o artigo Desempenho para cargas de trabalho típicas. Para mais informações sobre a utilização de unidades de estado sólido (SSD) e unidades de disco rígido (HDD) para armazenar os seus dados, consulte o artigo Vista geral do armazenamento hierarquizado.
As orientações de leitura são fornecidas por região (porque as leituras podem ser publicadas a partir de qualquer região de leitura/escrita ou só de leitura), enquanto as orientações de escrita são para toda a configuração. As orientações de leitura pressupõem que está a ler linhas únicas de 1 KB. As orientações de escrita partem do princípio de que está a escrever linhas únicas com 1 KB de dados por linha.
O pico de desempenho de gravação com gravações otimizadas para débito é alcançado com um atraso de processamento em lote de 100 ms.
Em geral, as taxas de transferência de leitura e escrita de uma instância do Spanner são dimensionadas linearmente à medida que 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 puder 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 não estiver a ver o desempenho esperado para a sua carga de trabalho do Spanner, consulte a resolução de problemas de regressões de desempenho para obter informações sobre as causas comuns.
Mais armazenamento
Para todas as configurações de instâncias regionais, de dupla região e multirregiões do Spanner, cada nó (1000 unidades de processamento) de capacidade de computação na instância tem uma capacidade de armazenamento aumentada de 10 TiB.
Desempenho para cargas de trabalho típicas
Todas as configurações de instâncias do Spanner têm um desempenho melhorado e oferecem um débito aumentado.
Desempenho das configurações regionais
Cada 1000 unidades de processamento (1 nó) de capacidade de computação pode oferecer o seguinte desempenho máximo (a 100% da CPU) numa configuração de instância regional:
Leituras de pico (CPS por região) | Pico de escritas (total de CPS) | Pico de gravações com gravações otimizadas para débito (QPS total) | ||
---|---|---|---|---|
SSD: 22 500 HDD: 1500 |
ou | SSD: 3500 HDD: 3500 |
SSD: 22 500 HDD: 22 500 |
Para configurações de instâncias regionais que permitem réplicas só de leitura opcionais, a réplica só de leitura opcional pode suportar mais 7500 leituras por segundo para armazenamento SSD e 500 leituras por segundo para armazenamento HDD.
Desempenho para configurações de duas regiões
Cada 1000 unidades de processamento (1 nó) de capacidade de computação pode oferecer o seguinte desempenho máximo (a 100% da CPU) numa configuração de instância de duas regiões. Use gravações otimizadas para débito para aumentar o débito de gravação além dos números na tabela.
Nome da configuração base | Picos de leituras aproximados (CPS por região) | Picos de escritas aproximados (total de CPS) |
---|---|---|
dual-region-australia1 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
dual-region-germany1 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
dual-region-india1 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
dual-region-japan1 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
As orientações de leitura são fornecidas por região (porque as leituras podem ser realizadas a partir de qualquer lugar), enquanto as orientações de escrita são para toda a configuração. As orientações de leitura e escrita partem do princípio de que está a ler e escrever linhas únicas a 1 KB de dados por linha.
Desempenho para configurações multirregionais
Cada configuração de instância multirregião do Spanner tem características de desempenho ligeiramente diferentes com base na topologia de replicação. Use gravações otimizadas de débito para aumentar o débito de gravação além dos números na tabela.
Cada 1000 unidades de processamento (1 nó) de capacidade de computação pode oferecer o seguinte desempenho máximo (a 100% da CPU):
Nome da configuração base | Picos de leituras aproximados (CPS por região) | Picos de escritas aproximados (total de CPS) |
---|---|---|
asia1 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
asia2 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
eur3 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
eur5 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
eur6 |
SSD: 15 000, 7500 para cada réplica só de leitura opcional HDD: 1000, 500 para cada réplica só de leitura opcional |
SSD: 2700 HDD: 2700 |
eur7 |
SSD: 15 000, 7500 para cada réplica só de leitura opcional HDD: 1000, 500 para cada réplica só de leitura opcional |
SSD: 2700 HDD: 2700 |
nam3 |
SSD: 15 000, 7500 para cada réplica só de leitura opcional HDD: 1000, 500 para cada réplica só de leitura opcional |
SSD: 2700 HDD: 2700 |
nam6 |
SSD: 15 000 em us-central1 e us-east1 7500 em us-west1 e us-west2 HDD: 1000 em us-central1 e us-east1 500 em us-west1 e us-west2 [1] |
SSD: 2700 HDD: 2700 |
nam7 |
SSD: 15 000, 7500 para cada réplica só de leitura opcional HDD: 1000, 500 para cada réplica só de leitura opcional |
SSD: 2700 HDD: 2700 |
nam8 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam9 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam10 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam11 |
SSD: 15 000, 7500 para cada réplica só de leitura opcional HDD: 1000, 500 para cada réplica só de leitura opcional |
SSD: 2700 HDD: 2700 |
nam12 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam13 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam14 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam15 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam16 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam-eur-asia1 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam-eur-asia3 |
SSD: 15 000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
- [1]:
us-west1
eus-west2
oferecem apenas metade do desempenho de QPS porque contêm uma réplica por região em vez de duas.
As orientações de leitura são fornecidas por região (porque as leituras podem ser realizadas a partir de qualquer lugar), enquanto as orientações de escrita são para toda a configuração. As orientações de leitura e escrita partem do princípio de que está a ler e escrever linhas únicas a 1 KB de dados por linha.
Execute as suas cargas de trabalho típicas no Spanner
Execute sempre as suas cargas de trabalho típicas numa instância do Spanner quando fizer o planeamento da capacidade, para poder determinar a melhor atribuição de recursos para as suas aplicações. O PerfKit Benchmarker da Google usa o YCSB para realizar testes de referência de serviços na nuvem. Pode
seguir o tutorial do PerfKitBenchmarker para o Spanner
para criar testes para as suas próprias cargas de trabalho. Ao fazê-lo, deve ajustar os parâmetros nos ficheiros de configuração de testes de referência yaml
para se certificar de que a referência gerada reflete as seguintes caraterísticas no seu ambiente de produção:
- Tamanho total da base de dados
- Esquema (por exemplo: tamanho da chave da linha, número de colunas, tamanhos dos dados das linhas)
- Padrão de acesso aos dados (distribuição de chaves de linhas)
- Mistura de leituras versus escritas
- Tipo e complexidade das consultas
Reproduza os números de referência
Para reproduzir os números de testes de referência, siga o
tutorial de testes de referência do Spanner com o PerfKit Benchmarker
usando os ficheiros yaml
correspondentes na pasta throughput_benchmark
.
Para comparar o desempenho de instâncias numa configuração de instância que tenha sofrido melhorias de desempenho, certifique-se de que os seus testes estão a ser executados numa destas configurações de instância melhoradas.
Proteção contra falhas zonais e regionais
Quando executar as suas cargas de trabalho em produção, é importante aprovisionar capacidade de computação suficiente para continuar a publicar o seu 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 multirregião). Para mais informações sobre a CPU máxima recomendada, consulte os alertas de utilização elevada da CPU.
O que se segue?
- Saiba como conceber um esquema do Spanner.
- Saiba como monitorizar o desempenho do Spanner.
- Saiba como resolver problemas com o Key Visualizer.
- Saiba mais sobre os preços do Spanner.