Todos os produtos
Search
Central de documentação

Cloud Parallel File Storage:Testar o desempenho de um sistema de arquivos CPFS

Última atualização: Jun 28, 2026

Este tópico descreve como usar a ferramenta fio para testar o desempenho de um sistema de arquivos Cloud Parallel File Storage (CPFS), incluindo throughput e operações de entrada/saída por segundo (IOPS).

Pré-requisitos

  • Um sistema de arquivos CPFS de teste criado e montado em uma instância do Elastic Compute Service (ECS).

  • A instância ECS de teste possui núcleos de CPU e largura de banda interna suficientes. O número de núcleos de CPU deve ser maior ou igual a 8.

Informações de fundo

Os resultados dos testes de desempenho variam conforme as ferramentas utilizadas e podem não refletir o desempenho real. Recomendamos o uso do fio para testar o desempenho de um sistema de arquivos CPFS. Os resultados apresentados neste tópico foram obtidos em um teste executado em uma instância ECS Linux com o fio. Esses valores servem como referência de desempenho para sistemas de arquivos CPFS.

Procedimento

  1. Conecte-se à instância ECS. Para mais informações, consulte Visão geral dos métodos de conexão.

  2. Instale a ferramenta fio. Se ela já estiver instalada, pule esta etapa e execute os comandos de teste de desempenho.

    Sistema operacional

    Comando de instalação

    CentOS

    sudo yum install fio

    Red Hat Enterprise Linux (RHEL)

    Alibaba Cloud Linux

    Ubuntu

    Execute os seguintes comandos em sequência:

    1. sudo apt-get  update
    2. sudo apt-get install fio

    Debian

  3. Execute os comandos de teste de desempenho.

    • Comando para testar IOPS de escrita aleatória:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randwrite -bs=4k -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Write_Testing
    • Comando para testar IOPS de leitura aleatória:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randread -bs=4k -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Read_Testing
    • Comando para testar throughput de escrita sequencial:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=write -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Seq_Write_Testing
    • Comando para testar throughput de leitura sequencial:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=read -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Seq_Read_Testing
    • Comando para testar throughput de escrita aleatória:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randwrite -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Write_Testing
    • Comando para testar throughput de leitura aleatória:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randread -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Read_Testing

Descrição dos parâmetros do fio

A tabela a seguir descreve os parâmetros dos comandos fio anteriores.

Parâmetro

Descrição

direct

Define se o I/O direto será utilizado. Valor padrão: 1. Valores válidos:

  • 1: utiliza I/O direto, ignora o buffer de I/O e grava dados diretamente.

  • 0: não utiliza I/O direto, ignora o buffer de I/O e não grava dados diretamente.

iodepth

Profundidade da fila de I/O durante o teste. Por exemplo, -iodepth=1 indica que o número máximo de operações de I/O em uma solicitação de controle do fio é 1.

rw

Política de leitura/escrita aplicada durante o teste. Valores válidos:

  • randwrite: escritas aleatórias

  • randread: leituras aleatórias

  • read: leituras sequenciais

  • write: escritas sequenciais

  • randrw: leituras e escritas aleatórias

ioengine

Motor de I/O que o fio utiliza para o teste. Na maioria dos casos, usa-se libaio. Para informações sobre outros motores de I/O disponíveis, consulte a documentação do fio.

bs

Tamanho do bloco das unidades de I/O. Valor padrão: 4k, que representa 4 KiB. É possível especificar valores distintos para leitura e escrita no formato <Valor para leituras>,<valor para escritas>. Se nenhum valor for definido, o padrão será aplicado.

size

Tamanho dos arquivos de teste.

O fio encerra o teste somente após ler ou gravar o tamanho especificado dos arquivos, a menos que fatores específicos, como o tempo de execução, o limitem. Se este parâmetro não for definido, o fio utilizará o tamanho total de todos os arquivos ou dispositivos fornecidos. Os valores válidos também podem ser uma porcentagem entre 1% e 100%. Por exemplo, se o parâmetro size for definido como 20%, o fio usará 20% do tamanho total dos arquivos ou dispositivos fornecidos.

numjobs

Número de threads simultâneas utilizadas durante o teste. Neste exemplo, o valor é 256.

runtime

Duração do teste, indicando o período de tempo em que o fio permanece em execução.

Se este parâmetro não for especificado, o teste só terminará quando os arquivos com o tamanho definido pelo parâmetro size forem lidos ou gravados no tamanho de bloco definido pelo parâmetro bs.

group_reporting

Modo de exibição dos resultados do teste.

Quando este parâmetro é especificado, são exibidas estatísticas por processo em vez de estatísticas por tarefa.

directory

Caminho de montagem do sistema de arquivos a ser testado. Neste exemplo, o valor é /mnt/cpfs/test. Substitua-o pelo caminho real.

name

Nome do teste. Defina este parâmetro conforme sua necessidade. Por exemplo, Rand_Write_Testing.

Para mais informações sobre os parâmetros, consulte fio(1) - Linux man page.