Desempenho do armazenamento em blocos

Visão geral

Esta página discute os muitos fatores que determinam o desempenho dos volumes de armazenamento em blocos que são anexados às instâncias de máquina virtual (VM). Antes de começar, considere os itens a seguir:

  • Para atingir os limites de desempenho dos discos permanentes, use uma alta profundidade da fila de E/S (32 ou mais). Os discos permanentes são armazenados em rede e geralmente têm uma latência maior do que a de discos físicos ou SSDs locais.

  • Confirme se o aplicativo está emitindo E/S suficiente para saturar o disco.

  • Para cargas de trabalho que envolvem principalmente pequenas E/Ss aleatórias de 4 KB a 16 KB, o fator de limitação de desempenho são operações de entrada/saída (IOPS) (em inglês) aleatórias por segundo.

  • Para cargas de trabalho que envolvem principalmente E/S aleatória sequencial ou grande (256 KB a 1 MB), o fator de limitação de desempenho é a capacidade (em inglês).

Escolher uma opção de armazenamento

É possível fornecer vários tipos diferentes de armazenamento em blocos para uso das instâncias. Anexar um disco permanente a várias máquinas virtuais não afeta o desempenho ou o custo agregado. Cada máquina recebe uma parcela do limite de desempenho por disco.

Ao configurar um disco permanente por zona ou regional, você precisa selecionar um dos seguintes tipos de disco:

  • Discos permanentes padrão (pd-standard) são adequados para grandes cargas de trabalho de processamento de dados que usam principalmente E/Ss sequenciais.
  • Discos permanentes balanceados (pd-balanced) são uma alternativa aos discos permanentes SSD que equilibram o desempenho e o custo. Com o mesmo número máximo de IOPS que os discos permanentes SSD e com menos IOPS por GB, o DP balanceado oferece níveis de desempenho adequados para a maioria das aplicações de uso geral em uma faixa de preços entre os valores dos discos permanentes padrão e SSD.
  • Discos permanentes SSD (pd-ssd) são adequados para aplicativos empresariais e necessidades de banco de dados de alto desempenho que exigem menos latência e mais IOPS do que os discos permanentes padrão. Os discos permanentes SSD são projetados para latências de milissegundo com um dígito. A latência observada é específica do aplicativo.
DP
padrão
por zona
DP
padrão
regional
DP
balanceado
por zona
DP
balanceado
regional
DP SSD
por zona
DP SSD
regional
SSD local (SCSI) SSD local (NVMe)
IOPS máximas sustentadas
IOPS de leitura por GB 0,75 0,75 6 6 30 30
IOPS de gravação por GB 1,5 1,5 6 6 30 30
IOPS de leitura por instância 7.500* 3.000* 15.000–80.000* 15.000–60.000* 15.000–100.000* 15.000–60.000* 900.000 2.400.000
IOPS de gravação por instância 15.000* 15.000* 15,000–30,000* 15,000–30,000* 15.000–100.000* 15.000–30.000* 800.000 1.200.000
Capacidade sustentada máxima (MB/s)
Capacidade de leitura por GB 0,12 0,12 0,28 0,28 0,48 0,48
Capacidade de gravação por GB 0,12 0,12 0,28 0,28 0,48 0,48
Capacidade de leitura por instância 240–1.200* 240–1.200* 240–1.200* 240–1.200* 240–1.200* 240–1.200* 9.360 9.360
Capacidade de gravação por instância 76–400** 38–200** 240–1.200* 120–600* 240–1.200* 120–600* 4.680 4.680
* O desempenho de IOPS e capacidade do disco permanente depende do tamanho do disco, número de vCPUs da instância e tamanho do bloco de E/S, entre outros fatores.
** Os discos permanentes podem alcançar um desempenho de capacidade maior em instâncias com mais vCPUs. Leia Limite de saída de rede na capacidade de gravação.

A largura de banda de leitura SSD e a consistência de IOPS perto dos limites máximos de desempenho dependem muito da utilização de entrada da rede. É de se esperar certa variabilidade nos limites de desempenho, especialmente ao operar próximo aos limites máximos de IOPS com um tamanho de E/S de 16 KB.

Comparar o disco permanente com um disco rígido físico

Ao especificar o tamanho dos discos permanentes, pense em como esses discos se comparam em relação aos discos rígidos físicos tradicionais. Nas tabelas a seguir, veja a comparação entre discos permanentes SSD e padrão quanto ao desempenho típico esperado de uma unidade SATA de 7.200 RPM, que normalmente atinge 75 IOPS ou 120 MB/s.

Tipo de E/S Padrão de E/S Tamanho necessário para atender a uma unidade SATA de 7.200 RPM (GB)
Disco permanente padrão Disco permanente equilibrado Disco permanente SSD
Leituras pequenas aleatórias 75 leituras pequenas aleatórias 100 12 3
Gravações pequenas aleatórias 75 gravações pequenas aleatórias 50 12 3
Leituras grandes de streaming Leituras de streaming de 120 MB/s 1.000 428 250
Gravações grandes de streaming Gravações de streaming de 120 MB/s 1.000 428 250

Configurar discos e instâncias permanentes

O desempenho do disco permanente é escalonado de acordo com o tamanho dele e com o número de vCPUs na instância de VM.

O desempenho é escalonado até atingir os limites do disco ou os limites da instância de VM a que o disco está anexado. Os limites de instâncias de VM são determinados pelo tipo de máquina e pelo número de vCPUs na instância.

Por exemplo, considere um disco permanente SSD de 1.000 GB anexado a uma instância com um tipo de máquina N2 e quatro vCPUs. O limite de leitura baseado apenas no tamanho do disco é de 30.000 IOPS. No entanto, como a instância tem quatro vCPUs, o limite de leitura é restrito a 15.000 IOPS.

Nas tabelas a seguir, mostramos o desempenho por tamanho de disco em incrementos em que o desempenho muda significativamente. No entanto, é possível especificar um tamanho de disco em qualquer incremento de 1 GB. Configure os discos e as instâncias de VM de acordo com os requisitos de desempenho.

Desempenho por tamanho do disco

Disco permanente padrão

IOPS Capacidade sustentada (MB/s)
Tamanho do disco (GB) Leitura
(<=16 KB por E/S)
Gravação
(<=8 KB por E/S)
Gravação
(16 KB por E/S)
Leitura Gravação
10 * * * * *
32 24 48 48 3 3
64 48 96 96 7 7
128 96 192 192 15 15
256 192 384 384 30 30
512 384 768 768 61 61
1.000 750 1.500 1.500 120 120
1.500 1.125 2.250 2.250 180 180
2.048 1.536 3.072 3.072 245 245
4.000 3.000 6.000 6.000 480 400
5.000 3.750 7.500 7.500 600 400
8.192 6.144 12.288 7.500 983 400
10.000–
65.536
7.500 15.000 7.500 1.200 400

* Use esse tamanho somente para discos de inicialização porque os limites de desempenho que ele oferece são muito baixos, mas suficientes para inicializar uma VM rapidamente.

Disco permanente SSD

IOPS Capacidade sustentada (MB/s)
Tamanho do disco (GB) Leitura
(<=8 KB por E/S)
Leitura
(<=16 KB por E/S)
Gravação
(<=8 KB por E/S)
Gravação
(16 KB por E/S)
Leitura Gravação
10 300 300 300 300 4,8 4,8
32 960 960 960 960 15 15
64 1.920 1.920 1.920 1.920 30 30
128 3.840 3.840 3.840 3.840 61 61
256 7.680 7.680 7.680 7.680 122 122
500 15.000 15.000 15.000 15.000 240 240
834 25.000 25.000 25.000 25.000 400 400
1.000 30.000 30.000 30.000 25.000 480 480
1.334 40.000 40.000 40.000 40.000 640 640
1.667 50.000 50.000 50.000 50.000 800 800
2.048 60.000 60.000 60.000 60.000 983 983
3.500–65.536 100.000 75.000 100.000 75.000 1.200 1.200

Tipo de máquina e contagem de vCPUs

Analisar o desempenho e as métricas de limitação

Faça isso no Cloud Monitoring, a solução de monitoramento integrada do Google Cloud.

Várias dessas métricas são úteis para entender se e quando seus discos estão sendo limitados. O objetivo da limitação é facilitar a E/S de burst. Com a limitação, as E/Ss de burst podem ser espalhadas por um período de tempo para que os limites de desempenho do disco possam ser atingidos, mas não excedidos em nenhum momento.

Se a carga de trabalho tiver um padrão de uso de E/S com bursts, haverá bursts em bytes limitados correspondentes a bursts em bytes de leitura/gravação. Da mesma forma, haverá bursts em operações limitadas correspondentes a bursts em operações de leitura/gravação.

Se o limite de disco for de 1.000 IOPS de gravação, o disco aceitará uma solicitação de gravação a cada um milissegundo. Se você enviar solicitações de gravação mais frequentes, um pequeno atraso será introduzido para afastar as solicitações em um milissegundo. Os limites de capacidade e IOPS abordados nesta página são aplicados o tempo todo, não por minuto ou por segundo.

Os bancos de dados são um exemplo comum de cargas de trabalho com muito burst. Eles tendem a ter microbursts curtos de operações de E/S, o que acarreta aumentos temporários na profundidade da fila. Uma maior profundidade de fila pode resultar em maior latência, porque solicitações de operação de E/S pendentes estão aguardando na fila.

Caso a carga de trabalho tenha um padrão uniforme de uso de E/S e você atinja continuamente os limites de desempenho do disco, haverá níveis uniformes de operações e bytes limitados.

Para saber mais, consulte Como analisar métricas de desempenho de disco permanente.

Otimizar o desempenho do disco

Para aumentar o desempenho do disco, comece com as seguintes etapas:

  • Redimensione os discos permanentes para aumentar os limites de IOPS e de capacidade por disco. Os discos permanentes não têm nenhuma capacidade reservada e inutilizável. Assim, é possível usar o disco completo sem redução de desempenho. No entanto, alguns sistemas de arquivos e apps podem apresentar pior desempenho à medida que o disco fica cheio. Pode ser necessário aumentar o tamanho do disco para evitar isso.

  • Altere o tipo de máquina e o número de vCPUs na instância para aumentar os limites de capacidade e IOPS por instância.

Depois de garantir que os gargalos não se devam ao tamanho do disco ou ao tipo de máquina da VM, talvez o app e o sistema operacional ainda precisem de algum ajuste. Consulte Como otimizar o desempenho do disco permanente e Como otimizar o desempenho do SSD local.

Outros fatores que afetam o desempenho

A seguir