SempreUPdate
Notícias sobre Ubuntu, Debian, Fedora, Linux, Android, Tecnologia, LibreOffice e muito mais!

Teste de IO com o dd no Linux

Teste a velocidade de leitura/gravação das unidades usb e ssd com comando dd no Linux.

A velocidade de uma unidade é medida pela quantidade de dados que pode ler ou escrever. O comando dd é uma ferramenta de linha de comando simples, que pode ser usada para ler e escrever blocos arbitrários de dados em uma unidade e medir a velocidade, na qual a transferência de dados ocorreu.

Nesta publicação, usaremos o comando dd para testar a velocidade de leitura e gravação das unidades usb e ssd usando o comando dd.

A velocidade de transferência de dados não depende unicamente da unidade, mas também da interface com a qual ela está conectada. Por exemplo, uma porta usb 2.0 possui um limite de velocidade operacional máximo de 35 Mbytes/s, portanto, mesmo se você fosse conectar uma unidade de pen drive usb 3 de alta velocidade a uma porta usb 2, a velocidade seria limitada ao limite inferior.

O mesmo se aplica ao SSD. SSD se conecta através de portas SATA que possuem versões diferentes. O Sata 2.0 possui um limite de velocidade teórico máximo de 3Gbits/s, que é aproximadamente 375 Mbytes/s. Enquanto o Sata 3.0 suporta duas vezes essa velocidade.

Método de teste

Monte a unidade e navegue até ela pelo terminal. Em seguida, use o comando dd para primeiro escrever um arquivo usando blocos de tamanho fixo. Em seguida, leia o mesmo arquivo usando o mesmo bloco.

A sintaxe geral do comando dd parece assim:

dd if=local/de/origem of=/local/de/destino bs=tamanho_do_bloco count=número_de_blocos

Ao escrever para a unidade, simplesmente lemos de /dev/zero, que é uma fonte de infinitos bytes inúteis. E quando lido a partir da unidade, lemos o arquivo escrito anteriormente e enviamos para /dev/null. Em todo o processo, a ferramenta acompanha a velocidade com a qual a transferência ocorre e o informa.

SSD

O SSD que estamos usando é um ssd “Samsung Evo 120GB”. É um ssd de nível iniciante com ótimo custo/benefício e também é meu primeiro SSD. É também um dos melhores do mercado.

Neste teste, o ssd está conectado a uma porta sata 2.0.

Velocidade de escrita

Antes dê permissão de escrita para o ssd e depois execute:

$ dd if=/dev/zero of=./largefile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.82364 s, 223 MB/s

O tamanho do bloco é realmente bastante grande. Você pode tentar com tamanhos menores como 64k ou até 4k.

Velocidade de leitura

Agora leia o mesmo arquivo. No entanto, primeiro limpe o cache de memória para garantir que o arquivo seja realmente lido da unidade.

Execute o seguinte comando para limpar o cache de memória:

$ sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

Agora leia o arquivo:

$ dd if=./largefile of=/dev/null bs=4k
165118+0 records in
165118+0 records out
676323328 bytes (676 MB) copied, 3.0114 s, 225 MB/s

O wiki do Arch Linux tem uma página cheia de informações sobre a velocidade de leitura/gravação de vários SSDs de diferentes fornecedores como Intel, Samsung, Sandisk, etc. Verifique isso na seguinte URL.

https://wiki.archlinux.org/index.php/SSD_Benchmarking

USB

Neste teste, mediremos a velocidade de leitura e gravação das unidades usuais usb/pen. As unidades estão conectadas às usb padrão de 2 portas. O primeiro é um drive Sony usb 4gb e o segundo é um drive de Strontium de 16GB.

Primeiro, conecte a unidade na porta e monte-a, para que seja legível. Em seguida, navegue até o diretório de montagem pela linha de comando.

Sony 4GB – Escrita

Neste teste, o comando dd é usado para gravar 10.000 pedaços de 8 Kbytes cada um em um único arquivo na unidade.

# dd if=/dev/zero of=./largefile bs=8k count=10000
10000+0 records in
10000+0 records out
81920000 bytes (82 MB) copied, 11.0626 s, 7.4 MB/s

Portanto, a velocidade de gravação é de cerca de 7,5 MBytes/s.

Sony 4GB – Leitura

O mesmo arquivo é lido para testar a velocidade de leitura. Execute o seguinte comando para limpar o cache de memória:

$ sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

Agora leia o arquivo usando:

# dd if=./largefile of=/dev/null bs=8k
8000+0 records in
8000+0 records out
65536000 bytes (66 MB) copied, 2.65218 s, 24.7 MB/s

A velocidade de leitura foi em torno de 25 Mbytes/s, o que é mais ou menos o padrão para unidades usb baratas.

E a unidade usb acima foi conectada em uma porta USB 2.0 e alcançou uma velocidade de leitura de 24,7 Mbytes/s, o que não é muito ruim. Mas a velocidade de gravação está muito lenta.

Agora, vamos fazer o mesmo teste com uma unidade Strontium 16GB. Strontium é outra marca muito barata, embora as unidades usb sejam confiáveis.

Strontium 16gb – Velocidade de gravação

# dd if=/dev/zero of=./largefile bs=64k count=1000
1000+0 records in
1000+0 records out
65536000 bytes (66 MB) copied, 8.3834 s, 7.8 MB/s

Strontium 16gb – Velocidade de leitura

# sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

# dd if=./largefile of=/dev/null bs=8k
8000+0 records in
8000+0 records out
65536000 bytes (66 MB) copied, 2.90366 s, 22.6 MB/s

A velocidade de leitura é menor do que a unidade da Sony.

Fonte BinaryTides
Comentários