Uso da ferramenta dd e teste de desempenho de gravação sequencial SSD

Use a ferramenta dd:

dd também é uma ferramenta de teste de disco que usamos com frequência. Depois de instalar o sistema no servidor Linux, queremos saber se a leitura e gravação do disco rígido pode atender às necessidades do serviço. Se o IO do disco rígido não puder ser atendido, será um gargalo do serviço. Podemos simplesmente usar o comando dd para testar:

O tempo tem uma função de temporização, dd é usado para copiar, ler de if e gravar em of. if=/dev/zero não gera IO, portanto pode ser usado para testar a velocidade de gravação pura. Da mesma forma, of=/dev/null não gera IO e pode ser usado para testar a velocidade de leitura pura. bs é o tamanho de cada leitura ou gravação, ou seja, o tamanho de um bloco, e count é o número de blocos lidos e gravados.

dd testa velocidade de gravação pura:

[root@docker sda]# time dd if=/dev/zero of=/mnt/sda/ddout bs=8k count=1000000
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB, 7.6 GiB) copied, 43.1081 s, 190 MB/s

real    0m43.110s
user    0m0.207s
sys    0m3.914s

dd testa velocidade de leitura pura:

[root@docker sda]# time dd if=/mnt/sda/ddout of=/dev/null bs=8k count=1000000
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB, 7.6 GiB) copied, 1.30322 s, 6.3 GB/s

real    0m1.306s
user    0m0.199s
sys    0m1.102s

dd testa a velocidade de leitura e gravação, que consiste em ler o arquivo do disco atual e depois gravá-lo no disco atual. Até certo ponto, quanto maior for a quantidade de cópias, maior será o tempo de leitura e escrita e mais precisos serão os resultados estatísticos. No entanto, os resultados do teste contêm menos informações e só podem ser usados ​​como referência. Para mais modos de leitura e gravação e informações de teste, você pode usar os parâmetros do comando dd para configurar:

Use as três variáveis ​​conv, iflag e oflag para configurar o modo do módulo de cópia, modo de leitura e modo de gravação do comando dd.

O comando dd ignora o cache do sistema:

如果要规避掉文件系统cache,直接读写,不使用buffer cache,需做这样的设置
iflag=direct,nonblock
oflag=direct,nonblock

Três maneiras clássicas de usar o comando dd:

dd if=/dev/zero of=test bs=64k count=16k é impreciso. Pode haver dados no cache do kernel que não estão sincronizados com o disco. Os dados principais devem ser marcados com fsync para evitar que os dados principais sejam perdidos;

dd if=/dev/zero of=test bs=64k count=16k conv=fsync é mais confiável, mas leva muito tempo. Ele gravará dados e metadados de arquivo no disco antes do final do dd;

dd if=/dev/zero of=test bs=64k count=4k oflag=dsync ou sync grava no disco toda vez que ele é gravado. Na operação real, você pode ouvir o som do disco e isso leva muito tempo;

Teste de desempenho SSD:

PCIe-SSD Optane:  dd if=/dev/urandom of=./optane.bin bs=256k count=102400 (grave 25 GB de dados aleatórios sequencialmente) 

M.2-STAT-SSD:  dd if=/dev/urandom of=./m2sata.bin bs=256k count=102400 (escreva 25 GB de dados aleatórios sequencialmente) 

M.2-NVMe-SSD:  dd if=/dev/urandom of=./m2nvme.bin bs=256k count=102400 (escreva 25 GB de dados aleatórios sequencialmente) 

HDD:  dd if=/dev/urandom of=./sata.bin bs=256k count=102400 (grave 25 GB de dados aleatórios sequencialmente) 

Acho que você gosta

Origin blog.csdn.net/qq_35273918/article/details/132561342
Recomendado
Clasificación