Depois de abordar como tunar cada sistema de arquivos citados no artigo, nada mais normal que testar o desempenho de cada um, para ver como
cada um comporta-se diante dos testes.
E até porque, dada a curiosidade sobre como comportarão os sistemas de arquivos após as alterações no comportamento, não é mesmo? Mas, o
melhor mesmo é usar no dia a dia, aí sim poderá ver realmente quais as vantagens ganhas.
Aqui, vou mostrar vários gráficos que comparam o desempenho de cada um, trata-se de
benchmark básico.
Para esta série de testes de desempenho, usei uma máquina com:
- Processador Intel® Core™2 Duo;
- Placa mãe ASUS;
- Memória RAM com capacidade 4 GB;
- HD Samsumg SATA 3;
- Sistema Debian 6.0.5;
- kernel 3.2.0-0.bpo.2-amd64.
Todos os testes não informam o uso de CPU, apenas o tempo que foi necessário para concluir a tarefa, e foram feitos no prompt de comando.
As características usadas para cada sistema de arquivos que foram habilitadas para o benchmark:
- ReiserFS:
- XFS:
- Journal externo, criado com o seguinte comando:
# mkfs.xfs -f -l logdev=/dev/sdb2,size=1g -d agcount=4 -i maxpct=5 /dev/sda8
- As opções para alterar o comportamento para XFS foram adicionas ao "/etc/fstab":
rw,relatime,attr2,nobarrier,allocsize=64m,logdev=/dev/sda7
- JFS:
- Journal externo;
- As opções para alterar o comportamento para JFS foram adicionadas ao "/etc/fstab":
rw,relatime
- ext3:
- ext4:
Primeiro teste
Trata-se de criar trinta mil arquivos de texto comum, sem nenhum conteúdo usando o comando
touch. Para isso, desenvolvi um script
para fazer todo o trabalho e todos o sistemas de arquivos concluíram o trabalho em poucos segundos.
Veja no gráfico abaixo o resultado:
Veja no gráfico, que ext4 e ext3 foram respectivamente os mais rápidos, seguido por ReiserFS, logo após JFS e por último XFS. Mas lembre-se que
XFS não trabalha bem com arquivos pequenos, e sim com arquivos grandes.
Segundo teste
Trata-se de listar todos os trinta mil arquivos criados anteriormente. Todos os F.S. concluíram o trabalho em poucos segundos.
Veja no gráfico abaixo o resultado:
Veja que, mesmo todos usando o journal externo, o ReiserFS foi o mais rápido, seguido por JFS e XFS, ext3 e ext4 foram os mais lentos neste teste.
Terceiro teste
Trata-se da remoção de todos os trinta mil arquivos criados anteriormente, usando o comando
rm. E mais uma vez, a conclusão da
tarefa foi feita em poucos segundos.
Veja no gráfico abaixo o resultado:
Veja que, mais uma vez o XFS mostrou que não trabalha bem com arquivos pequenos e foi o último com um tempo bem acima dos outros sistemas
de arquivos. Os mais rápidos foram ext3 seguido de ext4 e ReiserFS. O JFS não saiu-se bem no teste, pois o mesmo não trabalha bem com arquivos
pequenos também.
Quarto teste
Trata-se da gravação de um arquivo de 1,3 Gigabytes de tamanho, e todos os sistemas de arquivos testados acabaram o trabalho em segundos.
Veja no gráfico abaixo o resultado:
Os sistemas ext4 e XFS foram, respectivamente, mais rápidos que os outro F.S. neste teste.
Quinto teste
Trata-se de empacotar e compactar usando o comando
tar zcf o arquivo de 1,3 Gigabytes de tamanho, gravado anteriormente. Todos
levaram quase um minuto para concluir o trabalho.
Veja no gráfico abaixo o resultado:
Neste teste, JFS e XFS foram os mais rápidos, respectivamente. ReiserFS foi o mais lento de todos.
Sexto teste
Trata-se de desempacotar e descompactar o arquivo compactado e empacotado anteriormente de 1,3 gigabytes. Mais uma vez, todos concluíram o
trabalho em segundos.
Veja no gráfico abaixo o resultado:
XFS foi o mais rápido outra vez, comprovando que com arquivos grandes ele trabalha bem, ext4 foi o segundo mais rápido, seguido de ext3 e JFS.
ReiserFS foi o que levou o maior tempo.
Sétimo teste
Trata-se do tempo levado para remover o arquivo de 1,3 Gigabytes gravado no teste anterior. O trabalho foi concluído em segundos.
Veja no gráfico abaixo o resultado:
O mais rápido neste foi JFS, terminando a remoção do arquivo em incrível um milésimo de segundo, seguidos de ReiserFS e ext4.
Oitavo teste
Trata-se de criar trinta mil diretórios usando o comando
mkdir. Para isso, desenvolvi um script para este trabalho e o tempo de
conclusão para todos os sistemas de arquivos foi em segundos.
Veja no gráfico abaixo o resultado:
ReiserFS foi o mais rápido na criação dessa avalanche de diretórios, seguido de XFS e JFS. Os ext3/4 ficaram para trás neste teste.
Nono teste
Trata-se de listar os trinta mil diretórios criados anteriormente. Todos acabaram o trabalho de listagem em segundos.
Veja no gráfico abaixo o resultado:
ReiserFS foi o mais rápido outra vez, seguido de JFS e XFS, que finalizaram o trabalho com o mesmo tempo. O ext4 foi o que levou mais tempo.
Décimo teste
Trata-se de remover todos os diretórios criados anteriormente. Todo o trabalho foi concluído em poucos segundos em todos o sistemas de arquivos
testados.
Veja no gráfico abaixo o resultado:
Neste último teste, os mais rápidos foram ext3 e ext4, respectivamente. ReiserFS demostrou um ótimo desempenho também. XFS foi o que levou
mais tempo para concluir o trabalho.
Nota-se neste benchmark básico, que alguns sistemas de arquivos, como XFS e ReiserFS, demostraram suas características. XFS com um
desempenho muito bom para arquivos grandes e ReiserFS para arquivos pequenos.
Dá para perceber também, que alguns sistemas de arquivos tiveram melhor desempenho com journal externo do que outros.
Veja o ext3/4, teve em alguns testes, um desempenho abaixo do esperado, mas lembre-se de que a maioria dos testes foram feitos com trabalhos
em massa, e que nem todas as características foram habilitadas em todos os sistemas de arquivos testados.