Teste a velocidade do dispositivo USB 3.0

3

Eu procurei o hdparmcomando, mas todos os exemplos são para testar discos. Não tenho certeza se ele pode ser usado para testar dispositivos USB externos (especificamente um dispositivo USB).

Estou usando este código agora:

dd if=/dev/zero of=/media/storage/speed_test.txt bs=100K count=1k
sudo /sbin/sysctl -w vm.drop_caches=3
dd if=$/media/storage/speed_test.txt of=/dev/null bs=100K count=1k

Quais são os intervalos de velocidade de leitura e gravação que devo esperar? Eu tenho ~ 900 MB / s para gravação e ~ 500 MB / s para leitura e acho que os números são muito altos. Não estou limpando o cache corretamente? Quais outros comandos posso usar para testar a velocidade?


Atualizar:

Graças à user427539resposta e zlosterao comentário, agora tenho uma medição mais precisa das velocidades. Estou testando com um pen drive USB de 16 GB e estou escrevendo e lendo 1 GB de dados. Eu tenho 22 MB / s para escrever e 46 MB / s para leitura. No entanto, essas velocidades não são muito lentas para um dispositivo flash USB3? Por que a velocidade seria tão baixa?

tmp
fonte
Você deve verificar as opções fsync para dd ao fazer o teste de gravação. Mais informações aqui . Use também a configuração para os tamanhos - pelo menos 1 GB.
zloster

Respostas:

1

Primeiro, são apenas 100 MB que você está escrevendo. O disco e o controlador também têm um cache que você não está descartando; portanto, é necessário um teste maior para garantir que esses caches não corromperão os resultados.

Aumente isso pelo menos 1 GB. Talvez mudando para bs = 1M. Eu normalmente testei com 10 GB apenas para ter certeza.

Então você precisa garantir que os dados realmente cheguem ao disco, adicione "conv = fdatasync" no final da primeira linha para fazer isso.

Quanto às velocidades normais, os dispositivos / portas USB2 costumam ter entre 10 e 20 MB / s. Os dispositivos USB3 devem estar entre 50 e 150 MB / s. Fico muito feliz ao ver um novo dispositivo atingir 120 MB / s. São 7,2 GB / min, o que é realmente rápido.

Mas lembre-se de que um disco rotativo lê / grava na velocidade em que o prato gira sob a cabeça. Assim, você sabe a densidade (bits / polegada) que pode calcular a velocidade dos dados:

rendimento = raio * 2PI * densidade * RPM

A densidade que você realmente não pode controlar, mas as RPMs, quanto mais RPMs, maior a velocidade bruta.

Observe também que o raio do prato muda de acordo com o local onde a cabeça está. Pode ter cerca de 1,75 polegadas na pista externa, mas apenas 0,75 polegadas na pista interna. Isso significa que a unidade diminuirá muito à medida que você se move da pista externa para a interna. As unidades virgens normalmente fazem você gravar primeiro na faixa externa, para obter uma velocidade muito melhor no início. À medida que a unidade enche, fica mais lenta. Eu rotineiramente vejo uma queda de 50% no desempenho com uma unidade quase cheia.

user427539
fonte
Existe uma maneira de limpar com segurança o cache do controlador? Na verdade, estou testando com um pen drive USB. Existe uma maneira de testar uma pequena com, digamos, apenas 512 MB de capacidade?
tmp
Bem, você pode ter certeza de que uma inicialização a frio terá cache vazio, a menos que você tenha baterias no seu caso. (Alguns controladores RAID realmente têm suas próprias baterias). Para o pen drive, puxar e reinserir é a única maneira que conheço de limpar o cache. Sério, essas são as duas únicas maneiras que conheço.
user427539
RE: suas novas velocidades. Pen drives são dispositivos de custo muito baixo. Nunca os avaliei, mas duvido que suas velocidades estejam fora da realidade. Os dispositivos provavelmente são apenas lentos. Faça o benchmark de um disco rotativo externo USB3 e você deverá ver melhores velocidades.
user427539
syncantes e depois do comando de teste deve dar melhores resultados, ainda conv=fdatasyncé bom.
Pbies