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?


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.