Sobre o desempenho do Google Cloud Hyperdisk

Este documento explica como funciona o desempenho do Google Cloud Hyperdisk para que você possa entender o desempenho dos seus volumes do Hyperdisk e selecionar o tipo certo para sua carga de trabalho.

O Hyperdisk é a opção recomendada de armazenamento em blocos durável do Trusted Cloud by S3NS. Para saber mais sobre o Hyperdisk, consulte Sobre o Hyperdisk.

Para limites detalhados de desempenho, consulte Limites de desempenho do Hyperdisk.

Para analisar o desempenho atual ou anterior de um volume do Hyperdisk, consulte Analisar métricas de desempenho do disco.

Terminologia e unidades

O desempenho do Hyperdisk, conforme discutido neste documento, se refere a IOPS e capacidade de processamento.

  • IOPS significa operações de entrada/saída por segundo. É o número de leituras e gravações individuais que o volume realiza ou pode realizar em um segundo.
  • Capacidade de processamento se refere a quantos bytes podem ser lidos ou gravados em um volume por segundo. A capacidade é medida em MiB/s.

As medições de tamanho estão em GiB ou TiB.

Terminologia de tipo de máquina

O termo instância de computação se refere a uma instância de máquina virtual (VM) ou bare metal. O tipo de máquina de uma instância de computação é a combinação específica de propriedades, como a série de máquinas e o número de vCPUs.

Neste documento, os tipos de máquina são indicados neste formato: M-*-N, em que:

  • M é a série de máquinas, por exemplo, C3
  • * representa todas as configurações de memória e CPU, por exemplo, standard ou highcpu
  • N é o número de vCPUs, CPUs ou a designação da GPU, por exemplo, 22 para uma instância com 22 vCPUs ou 8g para uma instância com 8 GPUs.
Esse formato inclui os seguintes tipos de máquina, quando disponíveis:
  • tipos de máquina bare metal (*-metal)
  • tipos de máquina que vêm com discos SSD locais anexados (*-lssd).

Por exemplo, c3-*-176 se refere a todos os tipos de máquinas C3 com 176 vCPUs, ou seja, c3-standard-176, c3-highcpu-176, c3-highmem-176 e c3-standard-176-lssd. Para mais informações, consulte Terminologia do Compute Engine.

Resumo da performance do Hyperdisk

Ao anexar volumes do Hyperdisk a uma instância, o desempenho máximo atingível depende do cenário, conforme descrito na tabela a seguir.

Número de volumes do Hyperdisk
Desempenho máximo
1 O desempenho do volume é o menor entre:
  • A performance provisionada do volume
  • O limite de desempenho do tipo de máquina para o tipo de hiperdisco.
Dois ou mais Hyperdisks do mesmo tipo A performance total de todos os volumes é o menor valor entre:
  • A soma da performance provisionada de cada volume
  • O limite de desempenho do tipo de máquina para o tipo de hiperdisco
Dois ou mais tipos de Hyperdisk A performance total de todos os volumes é o menor valor entre:
  • A soma da performance provisionada de cada volume
  • Os limites de desempenho para o tipo de máquina da instância

Para conferir os limites por tipo de hiperdisco, consulte Limites de desempenho por tipo de hiperdisco.

Para ver os limites por tipo de máquina, consulte Limites de desempenho por tipo de máquina.

Sobre o desempenho provisionado do Hyperdisk

É possível especificar um nível de desempenho desejado para um volume do Hyperdisk. O valor de IOPS ou capacidade especificado ou provisionado é chamado de desempenho provisionado.

É possível provisionar o desempenho de um volume ao criá-lo. Também é possível aumentar ou diminuir o desempenho enquanto o volume está em uso sem precisar aumentar o tamanho dele.

O desempenho provisionado não é um nível garantido. Em vez disso, é o nível de performance desejado que você espera que o volume precise durante os horários de pico de uso. O desempenho real depende dos limites da instância que usa o volume e de vários outros fatores.

Níveis de desempenho padrão

O provisionamento de um nível de desempenho para um volume do Hyperdisk é opcional. Se você não especificar um valor, por exemplo, porque não tem certeza de quantos IOPS ou capacidade sua carga de trabalho precisa, o Compute Engine cria o volume com valores padrão. É possível aumentar ou diminuir o valor depois. Os valores padrão variam de acordo com o tipo de hiperdisco e estão listados na seção Valores padrão de IOPS e capacidade de processamento para Hyperdisk Balanced, Hyperdisk Balanced High Availability, Hyperdisk Extreme, Hyperdisk Throughput ou Hyperdisk ML.

Limites para desempenho provisionado

O desempenho máximo que pode ser provisionado depende do tipo e do tamanho do volume do Hyperdisk.

Limite para o tipo de hiperdisco

Cada tipo de Hyperdisk tem um nível máximo de desempenho que pode ser provisionado. Alguns tipos de Hyperdisk permitem provisionar IOPS, capacidade de processamento ou ambos. Se não for possível provisionar a capacidade de processamento, ela vai depender dos IOPS provisionados. Da mesma forma, se você não puder provisionar IOPS, as IOPS do volume vão depender da capacidade de processamento provisionada.

Por exemplo, é possível provisionar capacidade de processamento para volumes do Hyperdisk ML, mas não IOPS. A taxa de IOPS para capacidade de processamento do Hyperdisk ML é de 16 IOPS por MiB/s de capacidade provisionada. Portanto, se você criar um volume do Hyperdisk ML com 100.000 MiB/s de capacidade de processamento, o volume será provisionado com 1.600.000 IOPS.

Limites com base no tamanho

O desempenho máximo que você pode provisionar muda com o tamanho do volume. Por exemplo, para um volume Hyperdisk Balanced de 10 TiB, é possível provisionar de 3.000 a 160.000 IOPS, mas para um volume de 50 GiB, é possível provisionar de 3.000 a 25.000 IOPS.

Para detalhes sobre os limites baseados em tamanho de cada tipo de hiperdisco, consulte a seção Limites de tamanho e desempenho nas páginas Hyperdisk Balanced, Hyperdisk Balanced High Availability, Hyperdisk Extreme, Hyperdisk Throughput e Hyperdisk ML.

A tabela a seguir lista o desempenho máximo que você pode provisionar para cada tipo de hiperdisco.

Tipo de Hyperdisk Performance máxima provisionável por volume Capacidade de processamento personalizável IOPS personalizáveis
Hiperdisco equilibrado 160.000 IOPS
2.400 MiB/s
Sim Sim
Alta disponibilidade do hiperdisco equilibrada 100.000 IOPS
1.200 MiB/s
Sim Sim
Hiperdisco extremo 350.000 IOPS Não. 250 MiB/s por 1.000 IOPS, até 5.000 MiB/s Sim
Hyperdisk ML 1.200.000 MiB/s Sim Não. 16 IOPS por MiB/s de capacidade de processamento, até 19.200.000 IOPS
Capacidade de processamento do hiperdisco 2.400 MiB/s Sim Não. 4 IOPS por MiB/s de capacidade de processamento, até 9.600 IOPS.

Performance em estado estável

Para cargas de trabalho sensíveis à variabilidade de desempenho, use uma série de máquinas que ofereça desempenho de estado estável. O limite de desempenho de estado estável é o nível de desempenho que uma instância pode manter em todos os volumes anexados. Em comparação, o nível máximo de performance é o mais alto que uma instância pode alcançar.

Os limites de desempenho de estado estável não constituem um contrato de nível de serviço (SLA).

Para que um volume do Hyperdisk atinja um limite de desempenho específico de estado estável, o desempenho provisionado precisa ser igual ou maior que o limite de estado estável.

O limite de desempenho de estado estável é compartilhado entre todos os discos anexados à instância.

Séries de máquinas que oferecem desempenho de estado estável

As seguintes séries de máquinas oferecem desempenho de estado estável:

Configurar uma carga de trabalho para atender ao desempenho provisionado

O desempenho real de um volume do Hyperdisk (o desempenho observado quando anexado a uma instância) não pode exceder os seguintes limites:

  • A performance provisionada do volume
  • Os limites de desempenho específicos da instância, incluindo limites específicos para o tipo de hiperdisco
  • Para volumes do Hyperdisk Balanced e do Hyperdisk Balanced High Availability, os limites de consumo simultâneo para desempenho de referência

Portanto, para garantir que seu volume possa atingir a performance provisionada, considere os seguintes fatores:

Fatores como tamanho de E/S e design do aplicativo, embora não sejam limites de desempenho, também afetam a performance. Para mais informações sobre esses fatores, consulte Fatores específicos da carga de trabalho que afetam o desempenho.

Como os limites de desempenho da instância afetam o desempenho do hiperdisco

Cada instância de computação tem os seguintes limites de desempenho, com base no tipo de máquina:

  • Um limite de desempenho para o tipo de hiperdisco
  • Um limite de performance geral para a instância

Cada limite se aplica a situações específicas.

Limites de desempenho da instância para cada tipo de Hyperdisk

Cada instância tem um limite de desempenho para todos os volumes do Hyperdisk de um determinado tipo que você anexa a ela.

Quando esse limite é aplicado: quando você anexa um ou mais volumes do Hyperdisk do mesmo tipo a uma instância. Para que cada volume atinja a performance provisionada, o limite de performance da instância precisa ser maior que a soma da performance provisionada de todos os volumes. Caso contrário, o desempenho dos volumes não poderá exceder o limite de desempenho da instância.

Exemplo

Suponha que você tenha um volume de capacidade de processamento do Hyperdisk, hdt-disk-1, com 600 MiB/s de capacidade provisionada e queira anexá-lo a uma instância c3-*-4.

As instâncias c3-*-4 têm os seguintes limites de capacidade de transmissão:

Tipo de Hyperdisk Capacidade máxima (MiB/s)
Hiperdisco equilibrado 400
Hiperdisco extremo Sem suporte
Capacidade de processamento do hiperdisco 240
Alta disponibilidade do hiperdisco equilibrada 400
Hyperdisk ML 400

Se você anexar hdt-disk-1 à VM, o desempenho real do volume não poderá exceder 240 MiB/s. Se você anexar um volume do Hyperdisk Balanced, o desempenho dele não poderá exceder 400 MiB/s.

Se você anexar dois volumes do Hyperdisk Balanced à VM, o desempenho combinado dos dois volumes ainda não poderá exceder 400 MiB/s. Isso é válido independente do desempenho provisionado dos dois volumes.

Os limites de desempenho de cada hiperdisco por tipo de máquina estão listados em Limites de desempenho por tipo de hiperdisco.

Limite de performance geral para uma instância

Cada instância tem um limite geral de desempenho que pode ser alcançado. Esse limite é compartilhado entre todos os volumes anexados à instância.

Quando esse limite se aplica: quando você anexa mais de um tipo de Hyperdisk a uma instância. O desempenho real combinado de todos os volumes não pode exceder o limite de desempenho da instância, independente do desempenho provisionado de cada volume.

Se a instância for compatível com Persistent Disk, todos os volumes anexados também compartilharão o mesmo limite.

Exemplo

Digamos que você tenha uma instância c3-*-22, que tem uma capacidade de processamento máxima de 1.800 MiB/s.

Anexe os seguintes recursos à VM:

  • Dois volumes Hyperdisk equilibrado, cada um com capacidade de processamento provisionada de 900 MiB/s.
  • Um volume de capacidade de processamento do Hyperdisk com capacidade de processamento provisionada de 500 MiB/s

O desempenho combinado em todos os volumes não pode exceder 1.800 MiB/s.

Para uma lista dos limites, consulte Limites de desempenho por tipo de máquina.

Limites de consumo simultâneo para desempenho de linha de base

O Compute Engine restringe a quantidade de desempenho livre que os volumes do Hyperdisk Balanced High Availability e do Hyperdisk Balanced de um projeto que estão na mesma zona ou no mesmo pool de armazenamento podem consumir ao mesmo tempo. Esse limite é chamado de limite de consumo simultâneo para desempenho de referência.

Quando esse limite é aplicado: esse limite é aplicado a projetos com mais de 150 volumes do Hyperdisk Balanced e do Hyperdisk Balanced High Availability na mesma zona. Esse limite também se aplica a volumes em um pool de armazenamento equilibrado do Hyperdisk se ele não usar o provisionamento de desempenho avançado.

O desempenho provisionado dos volumes do Hyperdisk Balanced e do Hyperdisk Balanced High Availability é composto por desempenho faturável e gratuito. Os primeiros 3.000 IOPS e 140 MiB/s de capacidade de processamento provisionados são gratuitos e são chamados de desempenho de referência. O desempenho provisionado que excede 3.000 IOPS ou 140 MiB/s é considerado desempenho faturável. Por exemplo, um volume provisionado com 4.000 IOPS tem 1.000 IOPS faturáveis.

Os volumes do Hyperdisk Balanced High Availability e do Hyperdisk Balanced no mesmo projeto e na mesma zona têm os seguintes limites de consumo simultâneo para desempenho de referência:

  • Limite de consumo simultâneo para IOPS de referência: 500.000 IOPS
  • Limite de consumo simultâneo para capacidade de transferência de dados de referência: 50 GiB/s

Como funcionam os limites de consumo simultâneo para desempenho de linha de base

Em um projeto, é possível provisionar mais de 500.000 IOPS e 50 GiB/s de capacidade de processamento em todos os volumes na mesma zona. No entanto, os volumes não podem consumir simultaneamente mais de 500.000 IOPS ou 50 GiB/s de capacidade.

Além disso, a performance total simultânea não pode exceder a performance total de referência provisionada. Por exemplo, se você provisionar um total de 100.000 IOPS de referência na mesma zona e projeto, o limite de consumo simultâneo para desempenho de referência será de 100.000 IOPS.

Limites de consumo total no mesmo projeto e zona

Cada zona em um projeto tem um limite total de consumo simultâneo, ou seja, o desempenho total em todos os tipos de desempenho (faturável e de referência) que todos os Hyperdisk Balanced e Hyperdisk Balanced High Availability podem usar ao mesmo tempo.

Para cada zona em um projeto, o limite total de consumo simultâneo é a soma dos seguintes valores:

  • O desempenho faturável provisionado em todos os volumes do Hyperdisk Balanced e do Hyperdisk Balanced High Availability na zona
  • O limite de consumo simultâneo da zona para desempenho básico, que é o menor dos seguintes valores:
    • A soma das IOPS ou da capacidade de processamento provisionadas em todos os volumes na mesma zona.
    • 500.000 IOPS ou 50 GiB/s de capacidade de processamento

Provisione a performance para atender aos requisitos de consumo simultâneo

Para garantir que você provisionou performance suficiente para sua carga de trabalho, compare os seguintes valores:

  • O desempenho total que você espera que seus volumes consumam ao mesmo tempo
  • O limite total de consumo simultâneo para os volumes do Hyperdisk Balanced e do Hyperdisk Balanced High Availability do projeto que estão na mesma zona

Se o desempenho total que você espera que seus volumes consumam for maior que o limite total de consumo simultâneo, o Compute Engine vai limitar o desempenho dos volumes, a menos que você provisione mais desempenho faturável.

Veja estes exemplos.

Exemplo 1

Seu projeto tem 10 volumes do Hyperdisk Balanced na zona A, e cada volume é provisionado com 100.000 IOPS, totalizando 1.000.000 IOPS provisionadas. Você espera que os volumes consumam 800.000 IOPS simultaneamente.

Para determinar o limite total de consumo simultâneo, adicione o total de IOPS faturáveis provisionadas ao limite de consumo simultâneo do projeto para desempenho de referência.

  • Total de IOPS faturáveis provisionadas: 970.000 ((100.000 - 3.000) * 10 discos)
  • O limite de consumo simultâneo para desempenho de referência: 30.000 IOPS, porque é o menor de:
    • O total de IOPS de referência provisionadas: 30.000 (3.000 * 10)
    • 500.000 IOPS

O desempenho total consumível simultaneamente para a zona A é de 1.000.000 IOPS (30.000 + 970.000). A performance dos volumes não será limitada porque o total de IOPS de referência provisionados é menor que 500.000 IOPS.

Exemplo 2

Seu projeto tem 500 volumes do Hyperdisk Balanced High Availability na zona C, e cada um é provisionado com 3.500 IOPS, totalizando 1.750.000 IOPS provisionados. Você espera que os volumes consumam 1.000.000 IOPS simultaneamente.

Para determinar o limite total de consumo simultâneo, adicione o total de IOPS faturáveis provisionados ao limite de consumo simultâneo do projeto para o desempenho de referência.

  • O total de IOPS faturáveis provisionadas é de 250.000 ((3.500 - 3.000) * 500 discos)
  • O limite de consumo simultâneo para desempenho de referência é de 500.000 IOPS, porque é o menor de:
    • O total de IOPS de referência provisionadas: 1.500.000 (3.000 * 500)
    • 500.000 IOPS

O desempenho total consumível simultaneamente para a zona C é de 750.000 IOPS (250.000 + 500.000). O consumo simultâneo de IOPS de referência dos volumes é limitado a 500.000 IOPS.

Para consumir 1.000.000 de IOPS simultaneamente, provisione mais desempenho faturável para os volumes.

Fatores específicos da carga de trabalho que afetam o desempenho

Nesta seção, discutimos fatores específicos da carga de trabalho que afetam os limites de capacidade e IOPS que os volumes do hiperdisco podem alcançar. Para mais informações sobre como melhorar o desempenho, consulte Otimizar o desempenho do Hyperdisk.

Para alcançar os níveis máximos de IOPS e capacidade oferecidos pelos volumes do Hyperdisk, considere os seguintes parâmetros de carga de trabalho:

  • Tamanho da E/S: use tamanhos de bloco específicos para alcançar os limites de IOPS e capacidade, da seguinte forma:
    • Os limites máximos de IOPS exigem um tamanho de E/S de 4 KB.
    • Os limites máximos de capacidade de processamento exigem um tamanho de E/S de pelo menos 256 KB.
  • Comprimento da fila: o comprimento da fila é o número de solicitações pendentes para um volume. Para alcançar os limites máximos de desempenho, ajuste o comprimento da fila de acordo com o tamanho da E/S, IOPS e a sensibilidade de latência da carga de trabalho. O tamanho ideal da fila varia para cada carga de trabalho, mas normalmente precisa ser maior que 256.
  • Número de volumes anexados: para ter os melhores resultados de performance, recomendamos anexar até oito volumes a uma única instância.

A seguir