tencent cloud

Cloud Block Storage

Introdução
Anúncio do produto
Perguntas frequentes sobre comercialização
Introdução do produto
Visão geral
Vantagens do produto
Casos de uso
Regiões e zonas de disponibilidade
Instâncias de disco em nuvem
Snapshots de disco em nuvem
Gerenciamento de acesso
Produtos relacionados
Antecessor
Service Regions and Service Providers
Cobrança do produto
Visão geral de cobrança
Visão geral de preços
Instruções de aquisição
Guia para renovação
Descrição de cobrança em atraso
Guia de início rápido
Etapa 1. Criação de discos em nuvem
Etapa 2. Montagem de discos em nuvem
Etapa 3. Inicialização de discos em nuvem
Guia do usuário
Visão geral de operação
Limites de uso
Criação de discos em nuvem
Montagem de discos em nuvem
Inicialização de discos em nuvem
Expansão da capacidade de discos em nuvem
Desmontagem de discos em nuvem
Encerramento de discos em nuvem
Ajuste do desempenho de discos em nuvem
Gerenciamento de snapshots
Monitoramento de discos em nuvem
Tutorial prático
Medida do desempenho de discos em nuvem
Criação de volumes lógicos LVM com vários discos em nuvem elásticos
Solução de falhas
Falha na automontagem do disco em nuvem na reinicialização do CVM do Linux
Perguntas frequentes
Perguntas frequentes sobre funcionalidades
Perguntas frequentes sobre faturamento
Perguntas frequentes sobre desempenho
Perguntas frequentes sobre snapshots
Perguntas frequentes sobre uso
Contate-nos
Glossário
DocumentaçãoCloud Block StorageTutorial práticoMedida do desempenho de discos em nuvem

Medida do desempenho de discos em nuvem

PDF
Modo Foco
Tamanho da Fonte
Última atualização: 2023-12-26 11:17:00

Métricas

Os dispositivos do CBS do Tencent Cloud têm desempenho e preços diferentes conforme o tipo. Para obter mais informações, consulte Tipos de discos em nuvem. Como aplicativos diferentes têm cargas de trabalho diferentes, se a quantidade de solicitações de E/S for baixa, o disco em nuvem poderá não apresentar o desempenho máximo. As métricas a seguir costumam ser usadas para medir o desempenho de um disco em nuvem:
IOPS: contagem de leitura/gravação por segundo. O IOPS varia de acordo com o tipo de unidade subjacente do dispositivo de armazenamento.
Taxa de transferência: volume de dados lidos/gravados por segundo, com unidade em MB/s.
Latência: tempo decorrido desde o envio de uma operação de E/S até o recebimento da confirmação (em segundos).

Ferramenta de teste

A FIO é uma ferramenta para teste de desempenho do disco. Ela é usada para realizar teste de estresse e verificação no hardware. Este documento usa a FIO como exemplo. Nós recomendamos que você use a FIO junto com o mecanismo de E/S do libaio para realizar o teste. Instale a FIO e o libaio consultando Instalação de ferramentas.
Nota:
Para evitar danos em arquivos importantes do sistema, não realize o teste FIO no disco do sistema.
Para evitar corrompimento dos dados causado pelo corrompimento de metadados do sistema de arquivos de base, não realize o teste em um disco de dados empresarial.
Confira se o arquivo /etc/fstabNÃO contém a configuração de montagem do disco a ser testado. Caso contrário, poderá não ser possível inicializar o CVM.

Objetos de teste recomendados

Nós recomendados que você realize o teste FIO em discos vazios que não armazenam dados importantes e recrie o sistema de arquivos após a conclusão do teste.
Ao testar o desempenho do disco, recomendados que você teste diretamente discos de dados brutos (como /dev/vdb).
Ao testar o desempenho do sistema de arquivos, recomendamos que você especifique o teste do arquivo (como /data/file).

Instalação de ferramentas

1. Faça login no CVM conforme indicado em Faça login em instância do Linux usando o método de login padrão. Aqui, use como exemplo o CVM que está executando o sistema operacional CentOS 7.6.
2. Execute o seguinte comando para verificar se o disco em nuvem está alinhado com 4KiB.
fdisk -lu
Conforme mostrado abaixo, se o valor inicial na saída do comando for divisível por 8, significa que o disco está alinhado com 4KiB. Caso contrário, realize o alinhamento com 4KiB antes do teste.


3. Execute os comandos a seguir em sequência para instalar as ferramentas de teste, FIO e libaio.
yum install libaio -y
yum install libaio-devel -y
yum install fio -y
Após concluído, inicie o teste de desempenho do disco em nuvem conforme indicado no exemplo de teste abaixo.

Exemplo de teste

As fórmulas de teste para diferentes cenários são basicamente as mesmas, exceto os parâmetros rw, iodepth e bs (tamanho do bloco). Por exemplo, o iodepth ideal para cada carga de trabalho é diferente, já que depende da sensibilidade do seu aplicativo ao IOPS e à latência.
Descrição do parâmetro:
Parâmetro
Observações
Valor de amostra
bs
Tamanho do bloco por solicitação. Valores válidos incluem 4k, 8k e 16k.
4k
ioengine
Mecanismo de E/S. Nós recomendamos que você use o mecanismo de E/S assíncrono do Linux.
libaio
iodepth
Profundidade enfileirada de uma solicitação de E/S.
1
direct
Especifica o modo direto.
True (1) indica que o identificador O_DIRECT é especificado, o cache de E/S será ignorado e os dados serão gravados diretamente.
False (0) indica que o identificador O_DIRECT não é especificado.
O padrão é True (1).
1
rw
Modo de leitura e gravação. Valores válidos incluem read, write, randread, randwrite, randrw e rw, readwrite.
read
time_based
Especifica que o modo de tempo está sendo usado. Contanto que a FIO seja executada com base no tempo, não é necessário definir esse parâmetro.
N/A
runtime
Especifica a duração do teste, que é o tempo de execução da FIO.
600
refill_buffers
A FIO vai preencher novamente o buffer de E/S a cada envio. A configuração padrão é preencher o buffer de E/S apenas no início e reutilizar os dados.
N/A
norandommap
Ao realizar operações de E/S aleatórias, a FIO sobrescreve cada bloco do arquivo. Se este parâmetro estiver definido, uma nova compensação será selecionada sem visualizar o histórico de E/S.
N/A
randrepeat
Especifica se a sequência aleatória é repetível. True (1) indica que a sequência aleatória é repetível. False (0) indica que a sequência aleatória não é repetível. O valor padrão é True (1).
0
group_reporting
Quando vários jobs são simultâneos, as estatísticas do group todo são impressas.
N/A
name
Nome do job.
fio-read
size
Espaço de endereço do teste de E/S.
100 GB
filename
Objeto de teste, que é o nome do disco a ser testado.
/dev/sdb
Alguns casos de uso comuns são:
bs=4k iodepth=1: teste de leitura/gravação aleatória, que pode refletir o desempenho de latência de um disco. Execute o comando a seguir para testar a latência de leitura aleatória do disco:
fio -bs=4k -ioengine=libaio -iodepth=1 -direct=1 -rw=randread -time_based -runtime=600 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randread-lat --size=10G -filename=/dev/vdb
Execute o comando a seguir para testar a latência de gravação aleatória do disco:
fio -bs=4k -ioengine=libaio -iodepth=1 -direct=1 -rw=randwrite -time_based -runtime=600 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randwrite-lat --size=10G -filename=/dev/vdb
Execute o comando a seguir para testar o desempenho de latência de leitura e gravação aleatória híbrida de um disco em nuvem SSD:
fio --bs=4k --ioengine=libaio --iodepth=1 --direct=1 --rw=randrw --time_based --runtime=100 --refill_buffers --norandommap --randrepeat=0 --group_reporting --name=fio-read --size=1G --filename=/dev/vdb
A figura a seguir mostra a saída do comando:


bs=128k iodepth=32: teste de leitura/gravação sequencial, que pode refletir o desempenho da taxa de transferência do disco. Execute o comando a seguir para testar a largura de banda da taxa de transferência de leitura sequencial:
fio -bs=128k -ioengine=libaio -iodepth=32 -direct=1 -rw=read -time_based -runtime=600 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-read-throughput --size=10G -filename=/dev/vdb
Execute o comando a seguir para testar a largura de banda da taxa de transferência de gravação sequencial:
fio -bs=128k -ioengine=libaio -iodepth=32 -direct=1 -rw=write -time_based -runtime=600 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-write-throughput --size=10G -filename=/dev/vdb
Execute o comando a seguir para testar o desempenho da taxa de transferência de leitura sequencial de um disco em nuvem SSD:
fio --bs=128k --ioengine=libaio --iodepth=32 --direct=1 --rw=read --time_based --runtime=100 --refill_buffers --norandommap --randrepeat=0 --group_reporting --name=fio-rw --size=1G --filename=/dev/vdb
A figura a seguir mostra a saída do comando:


bs=4k iodepth=32: teste de leitura/gravação aleatória, que pode refletir o desempenho de IOPS do disco rígido. Execute o comando a seguir para testar o IOPS de leitura aleatória do disco:
fio -bs=4k -ioengine=libaio -iodepth=32 -direct=1 -rw=randread -time_based -runtime=600 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randread-iops --size=10G -filename=/dev/vdb
Execute o comando a seguir para testar o IOPS de gravação aleatória do disco:
fio -bs=4k -ioengine=libaio -iodepth=32 -direct=1 -rw=randwrite -time_based -runtime=600 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randwrite-iops --size=10G -filename=/dev/vdb
Teste o desempenho do IOPS de leitura aleatória do disco em nuvem SSD. Isso é mostrado na figura a seguir:



Ajuda e Suporte

Esta página foi útil?

comentários