Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-02-27 GMT+08:00

Teste do desempenho do SFS Turbo

fio é uma ferramenta de teste de pressão de I/O de código aberto. Você pode usar fio para testar a taxa de transferência e o IOPS do SFS.

Pré-requisitos

fio foi instalado no servidor. Ele pode ser baixado do site oficial ou do GitHub.

Nota e descrição

O teste do desempenho depende da largura de banda da rede entre o cliente e o servidor, bem como da capacidade do sistema de arquivos.

Instalar fio

O seguinte usa um sistema Linux CentOS como exemplo:

  1. baixe fio.

    yum install fio

  2. instale o motor libaio.

    yum install libaio-devel

  3. confira a versão fio.

    fio --version

Dados de desempenho do sistema de arquivos

Os indicadores de desempenho dos sistemas de arquivos do SFS Turbo incluem IOPS e taxa de transferência. Para mais detalhes, consulte Tabela 1.

Tabela 1 Exemplo de dados de desempenho

Parâmetro

SFS Turbo Standard

SFS Turbo Performance

Máximo de capacidade

32 TB

32 TB

Máximo de IOPS

5.000

20.000

Máximo de taxa de transferência

150 MB/s

350 MB/s

Fórmula usada para calcular o IOPS

IOPS = Min. (5.000, (1.200 + 6 x Capacidade))

IOPS = Min. (20.000, (1.500 + 20 x Capacidade))

Fórmula de Cálculo do IOPS

  • IOPS de um único sistema de arquivos = Min. (Máximo IOPS, (IOPS de linha básica + IOPS per GB x Capacidade))

    Para um sistema de arquivos do SFS Turbo Performance:

    • Se a capacidade do sistema de arquivos for de 500 GB: IOPS = Min. (20.000, (1.500 + 20 x 500)) = 11.500
    • Se a capacidade do sistema de arquivos for de 1.000 GB: IOPS = Min. (20.000, (1.500 + 20 x 1.000)) = 20.000
  • Nenhuma fórmula de cálculo de desempenho está disponível para os sistemas de arquivos do SFS Turbo Standard - Enhanced e SFS Turbo Performance - Enhanced. O IOPS de um sistema de arquivos do SFS Turbo Standard - Enhanced é 15.000 e o de um sistema de arquivos do SFS Turbo Performance - Enhanced é 100.000.

Exemplo de configuração de teste comum

Os seguintes valores estimados são obtidos a partir do teste em um único ECS. Você é aconselhado a usar vários ECSs para testar o desempenho do SFS.

Nos exemplos a seguir, SFS Turbo Performance e servidores com as seguintes especificações são usados para ilustração.

Especificações: computação-plus geral | c3.xlarge.4 | 4 vCPUs | 16 GB

Imagem: CentOS 7.5 64-bit

Leitura/gravação mista com uma proporção de leitura/gravação de 7:3

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/nfs/test_fio --bs=4k --iodepth=128 --size=10240M --readwrite=rw --rwmixwrite=30 --fallocate=none

    /mnt/nfs/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/nfs neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio:

Leitura/gravação mista com uma proporção de leitura/gravação de 3:7

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/nfs/test_fio --bs=4k --iodepth=128 --size=10240M --readwrite=rw --rwmixwrite=70 --fallocate=none

    /mnt/nfs/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/nfs neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio:

Leitura de IOPS sequencial

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=4k --iodepth=128 --size=10240M --readwrite=read --fallocate=none

    /mnt/sfs-turbo/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/sfs-turbo neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio:

Leitura de IOPS aleatório

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=4k --iodepth=128 --size=10240M --readwrite=randread --fallocate=none

    /mnt/sfs-turbo/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/sfs-turbo neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio:

Gravação de IOPS sequencial

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=4k --iodepth=128 --size=10240M --readwrite=write --fallocate=none

    /mnt/sfs-turbo/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/sfs-turbo neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio:

Gravação de IOPS aleatório

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=4k --iodepth=128 --size=10240M --readwrite=randwrite --fallocate=none

    /mnt/sfs-turbo/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/sfs-turbo neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio:

Leitura de largura de banda sequencial

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=read --fallocate=none

    /mnt/sfs-turbo/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/sfs-turbo neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio:

Leitura de largura de banda aleatória

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=randread --fallocate=none

    /mnt/sfs-turbo/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/sfs-turbo neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio:

Gravação de largura de banda sequencial

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=write --fallocate=none

    /mnt/sfs-turbo/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/sfs-turbo neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio:

Gravação de largura de banda aleatória

  • comando de fio:

    fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=randwrite --fallocate=none

    /mnt/sfs-turbo/test_fio indica a localização do arquivo a ser testado. O local deve ser específico para o nome do arquivo, que é o arquivo test_fio no diretório /mnt/sfs-turbo neste exemplo. Defina-o com base nos requisitos do site.

  • resultado de fio: