top of page

Baixe o IOzone para Linux e use a ferramenta de teste de desempenho de sistemas de arquivos



Como baixar e usar o Iozone para benchmarking do sistema de arquivos Linux




Se você estiver interessado em medir e comparar o desempenho de diferentes sistemas de arquivos no Linux, talvez queira usar uma ferramenta chamada Iozônio. Iozone é um utilitário de benchmark de sistema de arquivos gratuito e de código aberto que pode gerar e medir várias operações de arquivo, como leitura, gravação, releitura, reescrita, leitura aleatória, gravação aleatória e muito mais. Neste artigo, mostraremos como baixar, instalar e usar o Iozone para benchmarking do sistema de arquivos Linux.




iozone linux download



O que é Iozone e por que usá-lo?




Iozone é uma ferramenta de benchmark de sistema de arquivos que foi originalmente desenvolvida por William Norcott e posteriormente aprimorada por Don Capps e outros. Ele é escrito em C e roda em vários sistemas operacionais, incluindo Linux, Windows, Mac OS X, Solaris, AIX, HP-UX, FreeBSD, NetBSD, OpenBSD, IRIX, SCO OpenServer e muito mais.


Recursos e benefícios do Iozone




Algumas das características e benefícios do uso de Iozone são:



  • Ele pode realizar uma ampla análise do sistema de arquivos da plataforma de computador de um fornecedor.



  • Ele pode testar o desempenho de E/S de arquivo para 13 operações diferentes.



  • Ele pode ser executado no modo de fluxo único ou múltiplo.



  • Ele pode ser executado no modo de servidor de arquivos distribuído (cluster).



  • Ele pode usar E/S assíncrona POSIX, E/S de arquivo mmap() ou E/S de arquivo normal.



  • Ele pode gerar resultados importáveis do Excel para geração de gráficos.



  • Ele pode produzir gráficos de latência para operações de leitura e gravação.



  • Ele pode lidar com fontes compatíveis de 64 bits e arquivos grandes.



  • Ele pode usar bloqueio em testes de rendimento para eliminar efeitos retardatários.



  • Ele pode configurar o tamanho do cache do processador e selecionar medições com fsync ou O_SYNC.



Operações e plataformas suportadas pela Iozone




A tabela a seguir mostra as 13 operações de arquivo que o Iozone pode testar e medir.



OperaçãoDescrição


LerIndica o desempenho da leitura de um arquivo que já existe no sistema de arquivos.


EscreverIndica o desempenho da gravação de um novo arquivo no sistema de arquivos.


RelerDepois de ler um arquivo, isso indica o desempenho da leitura de um arquivo novamente.


ReescreverIndica o desempenho da gravação em um arquivo existente.


Leitura AleatóriaIndica o desempenho da leitura de um arquivo lendo informações aleatórias do arquivo. ou seja, esta não é uma leitura sequencial.


Gravação aleatóriaIndica o desempenho da gravação em um arquivo em vários locais aleatórios. ou seja, esta não é uma gravação sequencial.


Ler para trásIndica o desempenho da leitura de um arquivo de trás para frente.


Gravar Re-escreverEste teste mede o desempenho ao gravar e reescrever um registro de tamanho fixo dentro de um arquivo.


leitura do passoEste teste mede o desempenho ao ler um arquivo com uma distância fixa (passo) entre cada leitura.


FwriteEste teste mede o desempenho da gravação de um arquivo usando a função de biblioteca fwrite().


FreewriteEste teste mede o desempenho de reescrever um arquivo usando a função de biblioteca fwrite().


FreadEste teste mede o desempenho da leitura de um arquivo usando a função de biblioteca fread().


FrereadEste teste mede o desempenho da releitura de um arquivo usando a função de biblioteca fread().


A tabela a seguir mostra as plataformas nas quais o Iozone pode ser executado.



PlataformaSistema operacional


AlfaOSFV4, OSFV5, Tru64 Unix, Linux, FreeBSD, NetBSD, OpenBSD, Windows NT/2000/XP/2003/Vista/7/8/10.


AMD64Linux, FreeBSD, NetBSD, OpenBSD, Windows NT/2000/XP/2003/Vista/7/8/10.


BRAÇOLinux, Android.


HPPAHP-UX 10.20, HP-UX 11.00.


IA64Linux, HP-UX 11.23.


MIPSIRIX 6.5.x.


PowerPCAIX 4.3.x, AIX 5L, Linux, Mac OS X.


SparcSolaris 2.5.1, Solaris 2.6, Solaris 7, Solaris 8, Solaris 9, Solaris 10.


X86Linux, FreeBSD, NetBSD, OpenBSD, SCO OpenServer 5.0.x, Windows NT/2000/XP/2003/Vista/7/8/10.


X86_64Linux, FreeBSD, NetBSD, OpenBSD, Windows NT/2000/XP/2003/Vista/7/8/10.


Como baixar e instalar Iozone no Linux




Para usar o Iozone no Linux, primeiro você precisa baixá-lo e instalá-lo.Existem duas maneiras de fazer isso: no site oficial ou no gerenciador de pacotes da sua distribuição.


Baixando Iozone do site oficial




Você pode baixar Iozone do site oficial em . Lá você encontrará a versão mais recente do Iozone em vários formatos: código-fonte (tar.gz), pacotes RPM (para distribuições baseadas em Red Hat) e binários executáveis (para Windows e Mac OS X).


Se você deseja baixar o código-fonte do Iozone, pode escolher o arquivo apropriado para sua plataforma. Por exemplo, se você estiver usando um sistema Linux de 64 bits, poderá fazer o download do arquivo iozone3_491.tar.gz. Então você pode extraí-lo com o comando:


tar xvf iozone3_491.tar.gz


Isso criará um diretório chamado iozone3_491 com o código-fonte e a documentação do Iozone.


Instalando Iozone da fonte ou RPM




Se você baixou o código fonte do Iozone, você precisa compilá-lo antes de poder usá-lo. Para fazer isso, você precisa ter um compilador C (como gcc) e fazer instalado em seu sistema. Então você pode ir para o diretório iozone3_491/src/current e executar o comando:


fazer linux-AMD64


Isso compilará o Iozone para um sistema Linux de 64 bits com processadores AMD. Você pode alterar o nome do alvo de acordo com sua plataforma. Por exemplo, se você estiver usando um sistema Linux de 32 bits com processadores Intel, poderá usar linux em vez de linux-AMD64. Você pode ver a lista de destinos disponíveis executando make help.


Depois de compilar o Iozone, você obterá um arquivo executável chamado iozone no mesmo diretório. Você pode copiar este arquivo para qualquer local em seu PATH (como /usr/local/bin) ou executá-lo diretamente de lá.


Se você baixou um pacote RPM de Iozone, pode instalá-lo usando seu gerenciador de pacotes. Por exemplo, se você estiver usando uma distribuição baseada em Red Hat, poderá usar o comando:


sudo rpm -ivh iozone-3_491-1.x86_64.rpm


Isso instalará o Iozone e sua documentação no diretório /opt/iozone.Você pode executar o Iozone a partir daí ou criar um link simbólico para ele em seu PATH.


Como executar testes Iozone em sistemas de arquivos Linux




Depois de instalar o Iozone, você pode usá-lo para executar vários testes em seus sistemas de arquivos Linux. O Iozone pode ser executado em três modos: automático, personalizado e rendimento. Nesta seção, explicaremos como usar cada modo e quais parâmetros e opções você pode usar.


Executando Iozone no modo automático com valores padrão




A maneira mais simples de usar o Iozone é executá-lo no modo automático com valores padrão. Isso significa que o Iozone testará todas as operações de arquivo com uma variedade de tamanhos de arquivo e tamanhos de registro. Para fazer isso, você só precisa especificar o nome do sistema de arquivos ou diretório que deseja testar. Por exemplo, se você deseja testar o sistema de arquivos /home, pode executar o comando:


iozone -a /home


Isso iniciará o Iozone no modo automático e testará o sistema de arquivos /home com tamanhos de arquivo de 64 KB a 512 MB e tamanhos de registro de 4 KB a 16 MB. Ele também irá gerar um arquivo de saída compatível com Excel chamado iozone_results.xls no diretório atual. Você pode usar este arquivo para criar gráficos dos resultados.


Se desejar alterar os valores padrão do tamanho do arquivo e intervalos de tamanho do registro, você pode usar as opções -s e -r. Por exemplo, se você deseja testar o sistema de arquivos /home com tamanhos de arquivo de 128 KB a 1 GB e tamanhos de registro de 8 KB a 32 MB, execute o comando:


iozone -a -s 1g -r 32k /casa


Executando Iozone com parâmetros e opções personalizados




Se você deseja ter mais controle sobre os parâmetros e opções do Iozone, pode executá-lo no modo personalizado. Isso significa que você pode especificar quais operações de arquivo, tamanhos de arquivo, tamanhos de registro e outras opções deseja usar. Para fazer isso, você precisa usar a opção -i seguida de um número que corresponde a uma operação de arquivo. Por exemplo, se você deseja testar apenas as operações de leitura e gravação, pode usar -i 0 -i 1. A tabela a seguir mostra os números e suas operações de arquivo correspondentes.



NúmeroOperação


0Escrever/Reescrever


1Ler/Reler


2Leitura/gravação aleatória


3Ler de trás para frente


4Reescrever registro


5leitura do passo


6Fwrite/Re-write


7Lidar/refazer


8Mistura Aleatória


9Pwrite/Re-pwrite


10Pré-ler/Reler


11Pwritev/Re-pwritev


12Preadv/Re-preadv


Misturar # # # # # # # # # # # # # # # # # # # # # # # # # # Mistura aleatória de todas as operações


Por exemplo, se você deseja testar o sistema de arquivos /home apenas com operações de leitura, gravação e leitura/gravação aleatórias, com tamanhos de arquivo de 128 MB e 256 MB e tamanhos de registro de 4 KB e 8 KB, você pode executar o comando:


iozone -i 0 -i 1 -i 2 -s 128m -s 256m -r 4k -r 8k /casa


Você também pode usar outras opções para modificar o comportamento do Iozone. Por exemplo, você pode usar a opção -f para especificar o nome do arquivo de teste, a opção -t para especificar o número de threads ou processos a serem usados, a opção -w para evitar a exclusão do arquivo de teste após o teste, a opção -c para incluir fechamento nos cálculos de tempo e muito mais. Você pode ver a lista completa de opções executando iozone -h.


Executando o Iozone no modo de taxa de transferência com vários segmentos ou processos




Se você deseja medir a taxa de transferência do seu sistema de arquivos com vários encadeamentos ou processos, pode usar o Iozone no modo de taxa de transferência. Isso significa que o Iozone executará várias instâncias de si mesmo com os mesmos parâmetros e agregará os resultados. Para fazer isso, você precisa usar a opção -t seguida de um número que indique quantos threads ou processos você deseja usar. Por exemplo, se você deseja testar o sistema de arquivos /home com 4 threads ou processos, pode executar o comando:


iozone -t 4 /home


Isso iniciará o Iozone no modo throughput e testará o sistema de arquivos /home com 4 threads ou processos com tamanhos de arquivo de 64 KB a 512 MB e tamanhos de registro de 4 KB a 16 MB. Ele também irá gerar um arquivo de saída compatível com Excel chamado iozone_results.xls no diretório atual.


Se quiser alterar os valores padrão do tamanho do arquivo e intervalos de tamanho do registro, você pode usar as opções -s e -r como antes.Você também pode usar outras opções para modificar o comportamento do Iozone como antes. Por exemplo, se você deseja testar o sistema de arquivos /home com 4 threads ou processos, com tamanhos de arquivo de 128 MB e 256 MB e tamanhos de registro de 4 KB e 8 KB, você pode executar o comando:


iozone -t 4 -s 128m -s 256m -r 4k -r 8k /casa


Como interpretar e analisar os resultados do Iozone




Depois de executar os testes Iozone em seus sistemas de arquivos Linux, você pode querer interpretar e analisar os resultados. Iozone pode produzir diferentes tipos de formatos de saída e gráficos que podem ajudá-lo a entender o desempenho de seus sistemas de arquivos. Nesta seção, explicaremos como ler e comparar os resultados do Iozone.


Compreendendo o formato de saída e os gráficos do Iozone




Iozone pode produzir dois tipos de formatos de saída: texto e Excel. O formato de saída de texto é exibido na tela ou redirecionado para um arquivo. O formato de saída do Excel é salvo em um arquivo chamado iozone_results.xls no diretório atual. Você pode usar esse arquivo para criar gráficos dos resultados usando o Excel ou outros aplicativos de planilha.


O formato de saída de texto consiste em uma linha de cabeçalho que mostra os parâmetros usados para o teste, seguido por uma tabela que mostra os resultados de cada operação de arquivo, tamanho do arquivo e tamanho do registro. A tabela possui colunas para cada operação de arquivo e linhas para cada tamanho de arquivo e combinação de tamanho de registro. Os valores na tabela estão em kilobytes por segundo (KB/s). Por exemplo, aqui está um exemplo de saída de texto da execução de iozone -a /home:



Iozone: Teste de Desempenho do Arquivo I/O Versão $Revisão: 3.491 $ Compilado para o modo de 64 bits. Construir: linux-AMD64 Colaboradores:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr.Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Jean-Marc Zucconi, Jeff Blomberg, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. A execução começou: Tue Jun 20 14:39:24 GMT+00:00 Modo Automático Tamanho do arquivo definido como 524288 KB Tamanho do registro 4 KB Tamanho do registro 8 KB Tamanho do registro 16 KB Tamanho do registro 32 KB Linha de comando usada: iozone -a /home A saída é em kBytes/s Resolução de tempo = 0,000001 segundos. Tamanho do cache do processador definido como 1024 kBytes. Tamanho da linha de cache do processador definido como 32 bytes. Tamanho do passo do arquivo definido como 17 * tamanho do registro. aleatório aleatório bkwd registro passo kB reclen escrever reescrever ler reler ler escrever ler reescrever ler fwrite frewrite fread freread 65536 4 8983 9108 12354 12365 891 909 911 910 911 9108 9108 12365 12365 65536 8 10196 1 0205 14397 14401 1121 1121 1121 1121 1121 10205 10205 14401 14401...


O formato de saída do Excel consiste em uma planilha para cada operação de arquivo, com uma tabela que mostra os resultados para cada tamanho de arquivo e tamanho de registro. A tabela possui colunas para cada tamanho de arquivo e linhas para cada tamanho de registro. Os valores na tabela estão em kilobytes por segundo (KB/s). Por exemplo, aqui está um exemplo de saída do Excel executando iozone -a /home:



Iozone também pode produzir gráficos dos resultados usando a opção -g.Esta opção requer que você tenha o gnuplot instalado em seu sistema. A opção -g usa um parâmetro que indica o tamanho máximo do arquivo a ser plotado. Por exemplo, se você deseja plotar os resultados para tamanhos de arquivo de até 256 MB, pode executar o comando:


iozone -a -g 256m /casa


Isso irá gerar uma série de arquivos PNG no diretório atual, um para cada operação de arquivo. Os arquivos PNG têm nomes como write.png, read.png, random_read.png, etc. Os gráficos mostram a taxa de transferência (em KB/s) no eixo y e o tamanho do registro (em KB) no eixo x. Os gráficos possuem curvas diferentes para cada tamanho de arquivo testado. Por exemplo, aqui está um gráfico de exemplo para a operação de gravação:



Comparando os resultados do Iozone em diferentes sistemas de arquivos e configurações




Um dos principais propósitos do uso do Iozone é comparar o desempenho de diferentes sistemas de arquivos e configurações no Linux. Por exemplo, você pode querer comparar como diferentes tipos de sistema de arquivos (como ext4, xfs, btrfs etc.), opções de montagem (como noatime, relatime etc.), níveis de RAID (como RAID0, RAID1, RAID5 etc.), tipos de disco (como HDD, SSD, NVMe etc.) ou métodos de criptografia (como LUKS, eCryptfs etc.)


Para fazer isso, você precisa executar testes Iozone em cada sistema de arquivos ou configuração que deseja comparar, usando os mesmos parâmetros e opções. Em seguida, você pode usar os arquivos de saída de texto ou Excel para comparar os resultados em diferentes sistemas de arquivos ou configurações. Você também pode usar os scripts gnuplot fornecidos pela Iozone para criar gráficos de comparação dos resultados.


Por exemplo, se você deseja comparar o desempenho dos sistemas de arquivos ext4 e xfs em um único disco SSD com opções de montagem padrão, execute os seguintes comandos:



# Criar partições ext4 e xfs em /dev/sda sudo fdisk /dev/sda # Formatar partições ext4 e xfs sudo mkfs.ext4 /dev/sda1 sudo mkfs.xfs /dev/sda2 # Montar partições ext4 e xfs sudo mount /dev/sda1 /mnt/ext4 sudo mount /dev/sda2 /mnt/xfs # Executar I testes de ozônio em partições ext4 e xfs com modo automático e valores padrão iozone -a /mnt/ext4 > ext4.txt iozone -a /mnt/xfs > xfs.txt # Gerar arquivos de saída do Excel para resultados de ext4 e xfs iozone -R -b ext4.xls



Comparando os resultados e gráficos, você pode ver como ext4 e xfs funcionam de forma diferente para diferentes operações de arquivo, tamanhos de arquivo e tamanhos de registro. Você também pode repetir o mesmo processo para outros sistemas de arquivos ou configurações que deseja comparar.


Usando Iozone para solução de problemas e otimização do desempenho do sistema de arquivos




Outro propósito de usar o Iozone é solucionar problemas e otimizar o desempenho de seus sistemas de arquivos no Linux. Por exemplo, você pode querer identificar e corrigir quaisquer gargalos, erros ou anomalias que afetem o desempenho de E/S do arquivo. Você também pode ajustar e otimizar os parâmetros do sistema de arquivos, opções de montagem, níveis de RAID, tipos de disco ou métodos de criptografia para obter melhor desempenho.


Para fazer isso, você precisa executar testes Iozone em seus sistemas de arquivos com diferentes parâmetros e opções e monitorar os resultados e gráficos.Você também pode usar outras ferramentas e comandos, como iostat, vmstat, top, df, du, hdparm, smartctl, etc., para coletar mais informações sobre seu sistema e discos. Em seguida, você pode analisar os dados e identificar quaisquer problemas ou áreas de melhoria. Você também pode tentar soluções diferentes e testá-las novamente com Iozone para ver se fazem alguma diferença.


Por exemplo, se você perceber que o desempenho do seu sistema de arquivos está baixo ou inconsistente para operações aleatórias de leitura/gravação, verifique os seguintes fatores:



  • O nível de fragmentação do seu sistema de arquivos. Você pode usar o comando fsck para verificar e reparar seu sistema de arquivos.



  • O alinhamento de suas partições e sistemas de arquivos. Você pode usar os comandos fdisk ou parted para verificar e alinhar suas partições.



  • O comportamento de cache de seus discos e controladores. Você pode usar o comando hdparm para verificar e modificar as configurações de cache de seus discos.



  • O método de criptografia de seus sistemas de arquivos. Você pode usar o comando cryptsetup para verificar e alterar as configurações de criptografia de seus sistemas de arquivos criptografados.



Ao verificar e ajustar esses fatores, você poderá melhorar o desempenho do sistema de arquivos para operações aleatórias de leitura/gravação. Você pode então executar testes de Iozone novamente para verificar os resultados.


Conclusão e perguntas frequentes




Neste artigo, mostramos como baixar, instalar e usar o Iozone para benchmarking do sistema de arquivos Linux. Explicamos o que é o Iozone e por que usá-lo, como executar testes do Iozone em sistemas de arquivos Linux com diferentes modos e opções, como interpretar e analisar os resultados do Iozone com diferentes formatos e gráficos de saída e como usar o Iozone para solucionar problemas e otimizar o desempenho do sistema de arquivos.


Esperamos que este artigo tenha sido útil e informativo para você. Se você tiver alguma dúvida ou comentário, sinta-se à vontade para entrar em contato conosco ou deixar um comentário abaixo. Aqui estão algumas perguntas frequentes que podem ser úteis:


P: Como posso executar testes Iozone em vários sistemas de arquivos ou diretórios de uma só vez?




R: Você pode usar a opção -F seguida por uma lista de nomes de arquivos ou diretórios que deseja testar. Por exemplo, se você quiser testar /home, /var, /tmp, /mnt/ext4 e /mnt/xfs de uma só vez, execute o comando:


iozone -a -F /home /var /tmp /mnt/ext4 /mnt/xfs


P: Como posso executar testes Iozone em um modo de servidor de arquivos distribuído (cluster)?




R: Você pode usar a opção -C seguida por uma lista de nomes de host ou endereços IP que fazem parte do cluster. Por exemplo, se você tiver um cluster de quatro nós com endereços IP 192.168.0.1, 192.168.0.2, 192.168.0.3 e 192.168.0.4, poderá executar o comando:


iozone -a -C 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4


P: Como posso executar testes de Iozone apenas em uma operação de arquivo específica?




R: Você pode usar a opção -i seguida de um número que corresponde a uma operação de arquivo apenas uma vez. Por exemplo, se você deseja testar apenas a operação de leitura, pode usar -i 1. Por exemplo, se deseja testar o sistema de arquivos /home apenas com a operação de leitura, com tamanhos de arquivo de 128 MB e 256 MB e tamanhos de registro de 4 KB e 8 KB, execute o comando:


iozone -i 1 -s 128m -s 256m -r 4k -r 8k /casa


P: Como posso executar testes de Iozone com diferentes configurações de cache?




R: Você pode usar as opções -c, -C, -e e -E para modificar as configurações de cache do Iozone. A opção -c permite o uso de E/S assíncrona POSIX, que ignora o cache do buffer. A opção -C define o tamanho do cache do processador em kilobytes. A opção -e inclui flush (fsync ou O_SYNC) nos cálculos de tempo. A opção -E limpa o cache do buffer antes de cada teste. Por exemplo, se você deseja testar o sistema de arquivos /home com E/S assíncrona POSIX, um tamanho de cache do processador de 2048 KB e liberação incluída no tempo, você pode executar o comando:


iozone -a -c -C 2048 -e /home


P: Como posso executar testes de Iozone com diferentes métodos de E/S de arquivo?




R: Você pode usar as opções -I, -j e -J para modificar os métodos de E/S de arquivo do Iozone. A opção -I ativa a E/S direta, que ignora o cache do buffer e grava diretamente no disco.A opção -j ativa a E/S de arquivo mmap(), que mapeia um arquivo na memória e o acessa como uma matriz. A opção -J permite E/S assíncrona usando libaio, que permite que várias solicitações de E/S sejam enviadas e concluídas sem bloqueio. Por exemplo, se você deseja testar o sistema de arquivos /home com I/O direto e I/O assíncrono usando libaio, você pode executar o comando:


iozone -a -I -J /home


P: Como posso executar testes de Iozone com diferentes tipos de arquivo?




R: Você pode usar as opções -n e -N para modificar os tipos de arquivo do Iozone. A opção -n não ativa o modo de reteste, o que significa que o Iozone não excluirá ou recriará os arquivos de teste entre os testes. Isso permite que você teste diferentes tipos de arquivos, como compactados, criptografados, esparsos etc., criando-os antecipadamente. A opção -N ativa o modo de reteste, o que significa que o Iozone excluirá e recriará os arquivos de teste entre os testes. Isso permite que você teste arquivos novos a cada vez. Por exemplo, se você deseja testar o sistema de arquivos /home sem modo de reteste e arquivos compactados, pode executar os seguintes comandos:



# Crie arquivos compactados usando gzip gzip /home/testfile* # Execute testes Iozone sem modo de reteste iozone -a -n /home 0517a86e26


0 views0 comments

Recent Posts

See All
bottom of page