Desempenho do armazenamento em blocos

Para configurar uma opção de armazenamento para apps executados nas suas instâncias, use o seguinte processo:

Noções básicas sobre sua carga de trabalho

Para cargas de trabalho que envolvem principalmente pequenas entradas e saídas aleatórias de 4 KB a 16 KB, o fator limitante são operações aleatórias de entrada/saída por segundo (IOPS, na sigla em inglês).

Para cargas de trabalho que envolvem principalmente E/S aleatória sequencial ou grande (256 KB a 1 MB), o fator limitante é a capacidade.

Escolher uma opção de armazenamento

É possível fornecer diversos tipos de armazenamento em blocos para uso das instâncias. Cada tipo tem características diferentes de preço, desempenho e durabilidade. Veja Opções de armazenamento para uma comparação completa.

  • Discos permanentes padrão são adequados para grandes cargas de trabalho de processamento de dados que usam principalmente E/Ss sequenciais.
  • Discos permanentes 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 app.
  • SSDs locais fornecem baixa latência, mas não são redundantes e existem apenas para a vida útil de uma instância específica.
Discos
permanentes
padrão zonais
Discos
permanentes
padrão regionais
Discos
permanentes
SSD zonais
Discos
permanentes
SSD regionais
SSD local (SCSI) SSD local (NVMe)
IOPS máximas sustentadas
IOPS de leitura por GB 0,75 0,75 30 30 266,7 453,3
IOPS de gravação por GB 1,5 1,5 30 30 186,7 240
IOPS de leitura por instância 7.500* 3.000* 15.000–100.000* 15.000–100.000* 400.000 680.000
IOPS de gravação por instância 15.000* 15.000* 15,000–30,000* 15,000–30,000* 280.000 360.000
Capacidade sustentada máxima (MB/s)
Capacidade de leitura por GB 0,12 0,12 0,48 0,48 1,04 1,77
Capacidade de gravação por GB 0,12 0,12 0,48 0,48 0,73 0,94
Capacidade de leitura por instância 240–1.200* 240* 240–1.200* 240–1.200* 1.560 2.650
Capacidade de gravação por instância 76–400** 38–200** 76–800* 38–400* 1.090 1.400
* 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.

Anexar um disco 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.

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.

Calcular o preço por IOP para um disco permanente

Como não há custos por E/S no disco permanente, não é necessário fazer a estimativa mensal para calcular o orçamento do que será gasto em discos. No entanto, para cargas de trabalho orientadas por IOPS, é possível detalhar o custo mensal para analisar o preço por IOPS para fins de comparação.

Nos exemplos de cálculo de preços abaixo, o sistema de preços de disco permanente dos EUA é usado. Considere os custos relativos dos discos permanentes padrão em comparação com os discos permanentes SSD. Por exemplo, na zona us-central1, os discos permanentes padrão custam US $0,040 por GB e os discos permanentes SSD custam US $0,170 por GB. Ao aumentar o tamanho de um volume, você também aumenta os limites de desempenho automaticamente, sem nenhum custo extra.

Para determinar o custo por IOPS de um disco permanente, divida o preço por GB mensal pelo número de IOPS por GB. Na tabela a seguir, veja o cálculo do preço por IOPS de leitura aleatória por GB. Use essa mesma fórmula para calcular também o preço por IOPS de gravação.

Tipo de disco Preço por GB/mês IOPS de leitura por GB Preço por IOPS por GB
Disco permanente padrão US$ 0,040 0,75 US$ 0,040 / 0,75 = US$ 0,0533
Disco permanente SSD US$ 0,170 30 US$ 0,170 / 30 = US$ 0,0057

Discos permanentes padrão oferecem capacidade acessível, enquanto os discos SSD permanentes oferecem índices de preço-desempenho adequados a cargas de trabalho orientadas por IOPs. Saiba mais sobre preços de disco permanente e de SSD local.

Configurar seus discos e instâncias

Para maximizar o desempenho, configure o tamanho correto do disco, a contagem de vCPU e o tipo de máquina.

Tamanho do disco e contagem de vCPU

O desempenho de um disco permanente padrão é dimensionado de acordo com o tamanho dele. O desempenho dele também depende do número de vCPUs atribuídas à instância da VM, devido aos limites de saída de rede na capacidade de gravação. Usar 16 ou mais vCPUs não limita o desempenho. Usar menos de 16 vCPUs limita o desempenho. Para mais informações, consulte Limites de saída de rede.

Para discos permanentes SSD, o desempenho é dimensionado linearmente até atingir os limites do disco ou os limites da instância do Compute Engine a que o disco está anexado. Por exemplo, imagine um disco permanente SSD com um tamanho de volume de 1.000 GB. O limite de leitura é de 30.000 IOPs. No entanto, se você usar uma instância com apenas quatro vCPUs, o limite de leitura será de 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.

Disco permanente padrão

Tamanho do volume (GB) IOPS aleatórias sustentadas Capacidade sustentada (MB/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 * * * * *
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 volumes de inicialização. O bursting de E/S fornece um desempenho mais alto para volumes de inicialização do que o dimensionamento linear descrito nesta página.

Disco permanente SSD

IOPS aleatórias sustentadas Capacidade sustentada (MB/s)
Tamanho do volume (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 30.000 25.000 640 640
1.667 50.000 50.000 30.000 25.000 800 800
2.048 60.000 60.000 30.000 25.000 983 800
4.000–65.536 100.000 75.000 30.000 25.000 1.200 800
Contagem de vCPUs na instância 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
1 vCPU 15.000 15.000 9.000 4.500 240 72
De 2 a 3 vCPUs 15.000 15.000 15.000 4.500/vCPU 240 72/vCPU
De 4 a 7 vCPUs 15.000 15.000 15.000 15.000 240 240
De 8 a 15 vCPUs 15.000 15.000 15.000 15.000 800 400
De 16 a 31 vCPUs 25.000 25.000 25.000 25.000 1.200 800
32 a 63 vCPUs 60.000 60.000 30.000 25.000 1.200 800
64+ vCPUs* 100.000 75.000 30.000 25.000 1.200 800

* O desempenho máximo pode não ser atingido com a utilização total da CPU. A largura de banda de leitura de SSD e consistência de IOPS perto dos limites máximos dependem em grande parte da utilização da entrada de rede. Certa variabilidade é esperada, especialmente na E/S de 16 KB perto dos limites máximos de IOPS.

Tipo de máquina

No Compute Engine, os tipos de máquinas são agrupados e selecionados para diferentes cargas de trabalho.

Em particular, os tipos de máquina otimizados para computação estão sujeitos a limites específicos de disco permanente por vCPU que são diferentes dos limites de outros tipos de máquinas. Observe que o desempenho por volume permanece igual ao descrito na seção desempenho por tamanho do disco.

Considerar fatores que afetam o desempenho

Limite de saída de rede na capacidade de gravação

Sua instância de máquina virtual (VM, na sigla em inglês) tem um limite de saída de rede que depende do tipo de máquina da VM.

O Compute Engine armazena dados em discos permanentes com várias gravações paralelas para garantir a redundância integrada. Além disso, cada solicitação de gravação tem uma sobrecarga que usa largura de banda de gravação adicional.

O tráfego máximo de gravação que uma instância de VM pode emitir é o limite de saída da rede dividido por um multiplicador de largura de banda que considera a largura de banda de gravação usada por essa redundância e sobrecarga.

Em uma situação em que o disco permanente compete com a largura de banda da saída de rede, 60% da largura máxima de gravação vai para o disco permanente, deixando 40% para o tráfego de IP. Clique abaixo para ver um exemplo de como calcular o tráfego máximo de gravação em disco permanente que uma instância de VM pode emitir.

Leituras e gravações simultâneas

Nos discos permanentes padrão, leituras e gravações simultâneas compartilham os mesmos limites de desempenho. Enquanto a instância estiver usando mais capacidade de leitura ou IOPS, ela poderá executar menos gravações. Por outro lado, instâncias que usam mais capacidade de gravação ou IOPs podem executar menos leituras.

Os discos permanentes SSD são capazes de atingir os respectivos limites máximos em termos de capacidade para leituras e gravações simultaneamente. No entanto, não é possível que discos permanentes SSD alcancem os limites máximos de IOPs para leituras e gravações simultaneamente.

Observe que a capacidade = IOPs * tamanho de E/S. Para aproveitar os limites máximos de capacidade para leituras e gravações simultâneas em discos permanentes SSD, use um tamanho de E/S de modo que as IOPs de leitura e gravação combinadas não excedam o limite de IOPs.

Tamanho do volume lógico

Os discos permanentes podem ter até 64 TB. É possível criar volumes lógicos de até 257 TB usando o gerenciamento correspondente na sua VM. Um tamanho de volume maior afeta o desempenho destas maneiras:

  • Nem todos os sistemas de arquivos locais têm bom funcionamento nessa escala. Operações comuns como a ativação e a verificação do sistema de arquivos podem demorar mais do que o esperado.

  • O disco permanente atinge desempenho máximo quando tem tamanhos menores. Quando há muito armazenamento em uma VM, os discos levam mais tempo para fazer leituras e gravações completas. Se seu aplicativo for compatível, use várias VMs para aumentar a capacidade total do sistema.

  • Criar snapshots de grandes quantidades de disco permanente pode levar mais tempo do que o esperado e apresentar uma visualização inconsistente do volume lógico, sem uma coordenação cuidadosa com o aplicativo.

Vários discos em uma única instância de VM

Suponha que você tenha vários discos do mesmo tipo (padrão ou SSD) anexados no mesmo modo (por exemplo, leitura e gravação). Se você usar apenas um disco, ele poderá atingir o limite de desempenho correspondente ao tamanho combinado dos discos. Se você usar 100% de todos os discos, o limite de desempenho agregado será dividido igualmente entre os discos, seja qual for o tamanho relativo deles.

Por exemplo, suponha que você tenha um disco padrão de 200 GB e outro de 1.000 GB. Se você não usar o disco de 1.000 GB, o disco de 200 GB poderá atingir o limite de desempenho de um disco padrão de 1.200 GB. Se você usar 100% dos dois discos, cada um terá o limite de desempenho de um disco permanente padrão de 600 GB (1.200 GB / 2 discos = disco de 600 GB).

Para demonstrar isso, considere as instâncias a seguir. instance-a tem um disco permanente padrão de 200 GB e outro de 1.000 GB. instance-b tem um disco permanente padrão de 200 GB. Caso contrário, as duas instâncias terão a mesma configuração.

Instância de vários discos. Instância de disco único.

Os seguintes comandos testam IOPs de leitura para o disco de 200 GB em instance-a e para o disco de 200 GB em instance-b, separadamente.

rIOPs de instância de vários discos. rIOPs de instância de disco único.

Os IOPs de leitura observados para o disco de 200 GB em instance-a é 902, que corresponde ao nível de IOPs de leitura esperado para um tamanho de disco combinado de 200 GB + 1.000 GB = 1.200 GB.

Otimizar o desempenho

Para maximizar o desempenho, considere o seguinte:

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 para mais informações sobre comparativo de mercado e ajuste de desempenho de disco permanente.