Esta página apresenta dados de benchmark para volumes strmvol em duas dimensões: eficiência na construção de índices de metadados e throughput de leitura de dados. Use esses dados para avaliar se o strmvol atende aos requisitos de desempenho da sua carga de trabalho e para escolher a configuração adequada de resourceLimit.
Os valores a seguir são teóricos e foram obtidos em um ambiente de teste controlado. O desempenho real varia conforme o seu ambiente operacional.
Construção de índice de metadados
Se nenhum pod no nó estiver montando um volume strmvol, o primeiro pod a montar o volume iniciará o processo de inicialização da montagem no nó. Nessa fase, o sistema cria dispositivos de bloco virtuais e constrói índices de metadados para os arquivos do OSS. O pod permanece no estado ContainerCreating até a conclusão da inicialização.
Ambiente de teste: ECS.g8i.2xlarge, região cn-beijing
A tabela abaixo compara o tempo de construção de índice e o consumo de recursos entre erofs (Alibaba Cloud Linux 3) e ext4 (outros sistemas operacionais).
|
Número de arquivos no ponto de montagem do OSS |
erofs — tempo de construção |
erofs — pico de memória |
erofs — pico de CPU |
ext4 — tempo de construção |
ext4 — pico de memória |
ext4 — pico de CPU |
|
100.000 |
4,09s |
125 MB |
113% |
6,96s |
150 MB |
116% |
|
1.000.000 |
11,07s |
871 MB |
201% |
35,37s |
512 MB |
192% |
|
10.000.000 |
130,59s |
8,7 GB |
247% |
407,00s |
2,4 GB |
253% |
Desempenho de leitura de dados
Escolha o cenário de teste adequado
Antes de consultar as tabelas abaixo, identifique qual cenário corresponde à sua carga de trabalho:
Leituras aleatórias de arquivos pequenos (ex.: serviço de inferência de imagens): consulte a tabela de leitura aleatória com o modo direto ativado.
Leituras sequenciais de arquivos pequenos ou leituras de fluxo único de arquivos grandes (ex.: carregamento de modelos, pipelines de dados em lote): utilize a tabela de leitura sequencial e fluxo único com o modo direto desativado.
Comparação entre strmvol e ossfs: veja a tabela de comparação de soluções.
Como o resourceLimit afeta o desempenho
O parâmetro resourceLimit limita a CPU e a memória que o processo strmvol pode usar em um nó. Esse limite define o throughput máximo de leitura que o volume consegue atingir:
Abaixo do limite: todas as configurações de
resourceLimitentregam um throughput semelhante.No limite: o throughput para de escalar mesmo com aumento de concorrência. Em sistemas que não usam Alibaba Cloud Linux 3, todas as configurações de
resourceLimitatingem o teto de throughput com 64 leituras simultâneas.Para aumentar o limite: selecione uma faixa superior de
resourceLimit(por exemplo, altere de2c4gpara4c8g).
Leitura aleatória, arquivos pequenos, modo direto ativado
Ambiente de teste: ECS.g7nex.32xlarge, Alibaba Cloud Linux 3, região cn-beijing Cenário de teste: arquivos de imagem de 100 KB, leituras aleatórias, modo direto ativado
|
Concorrência |
Throughput (MB/s) |
Throughput (img/s) |
Teto de desempenho |
|
4 |
11,53 |
101,06 |
— |
|
8 |
21,99 |
192,62 |
— |
|
16 |
48,01 |
417,95 |
— |
|
32 |
93,90 |
817,45 |
— |
|
64 |
180,88 |
1.577,12 |
Teto para sistemas sem Alibaba Cloud Linux 3 |
|
128 |
312,82 |
2.727,48 |
Teto para 2c4g |
|
256 |
513,54 |
4.475,20 |
Teto para 4c8g |
|
512 |
974,47 |
8.491,96 |
Teto para 8c16g |
|
1.024 |
1.306,61 |
11.386,33 |
Teto para 16c32g |
Leitura sequencial e arquivos grandes de fluxo único, modo direto desativado
Ambiente de teste: ECS.g7nex.32xlarge, Alibaba Cloud Linux 3, região cn-beijing Cenário de teste: arquivos de imagem de 100 KB (sequencial, 256 requisições simultâneas) e arquivos grandes de fluxo único, modo direto desativado
Os valores predefinidos de resourceLimit são ajustados para oferecer desempenho ideal em cargas de trabalho gerais de somente leitura.
|
Limite de recursos |
Leitura sequencial — 256 concorrentes (MB/s) |
Leitura sequencial — 256 concorrentes (img/s) |
Arquivo grande de fluxo único (MB/s) |
|
2c4g |
349,89 |
2.742,05 |
216 |
|
4c8g |
789,52 |
6.187,34 |
342 |
|
8c16g |
1.446,17 |
11.333,37 |
548 |
|
16c32g |
2.383,38 |
18.678,12 |
926 |
No cenário de arquivo grande de fluxo único, o modo 8c16g entrega um throughput de 2,5 a 2,7 GB/s. Caso sua carga de trabalho tenha características específicas de leitura de dados não cobertas pelos valores predefinidos, abra um ticket para solicitar assistência.
Comparação de soluções
Ambiente de teste: ECS.g8i.2xlarge, Alibaba Cloud Linux 3, região cn-beijing
A tabela compara o strmvol com o ossfs sob condições equivalentes. O modo direto está ativado apenas para o cenário de leitura aleatória de arquivos pequenos (arquivos de texto de 128 KB).
|
Solução (configuração) |
Leitura aleatória com 4 threads (MB/s) |
Leitura sequencial com 4 threads (MB/s) |
Arquivo grande de fluxo único (MB/s) |
|
ossfs — configuração padrão |
8,4 |
8,4 |
179,2 |
|
ossfs — leitura direta ativada, pool de memória de 1 GB |
3,4 |
3,4 |
293,4 |
|
strmvol — 2c4g |
24,9 |
40,0 |
196,8 |
|
strmvol — 4c8g |
95,6 |
147,1 |
334,5 |