Valores aleatórios de leitura / gravação QD1… 32 e IOPS de SSD 4k

6

Sou designer de vídeo e tenho muitos programas de renderização. Eu decidi comprar um SSD de 120GB no meu PC e estou procurando o melhor desempenho. O importante para o melhor desempenho no SSD deve ser alto IOPS, alto valor de leitura / gravação de 4k, MLC NAND flash, OK, até agora, é claro.

Mas o que é a profundidade da fila (QD) 1,2,3 ... 32? Por exemplo, leitura aleatória 4k-QD1, leitura aleatória 4k-QD2, escrita aleatória 4k-QD1, leitura aleatória 4k-QD2 ... Quais valores de QD são importantes para mim, porque eu não tenho um servidor e não sou um usuário doméstico padrão. E o valor importante do QD-X deve ser pelo menos o quanto para mim?

ATES
fonte

Respostas:

4

O QD é basicamente uma medida de quantos segmentos estão trabalhando no SSD.

A maioria dos usuários só vai acertar um QD de 1, no entanto, em um ambiente de servidor sob intensa carga de IO você pode atingir até 64 ou 128.

Eu teria algo assim em qualquer tamanho que você quiser. http://www.amazon.com/Samsung-2-5-Inch-Internal-MZ-75E250B-AM/dp/B00OAJ412U/ref=sr_1_1?s=pc&ie=UTF8&qid=1457283469&sr=1- 1 & amp; palavras-chave = ssd

Aqui está um artigo que fala sobre o QD em comprimento: http://www.samsung.com/global/business/semiconductor/minisite/SSD/global/html/whitepaper/whitepaper08.html

LethalRose
fonte
Obrigado, samsung 850 pro 250gb tem valores de 10.000 IOPS leitura aleatória 4K e 36.000 IOPS gravação aleatória 4K. Existe um SSD melhor do que esses valores? E meu disco de sistema ocupa um lugar de 50GB assim que 240gb ssd é necessário? 120gb não é suficiente?
ATES
Eu não acho que a profundidade da fila seja a mesma coisa que thread. Por exemplo, no CrystalDiskMark, esses dois podem ser ajustados independentemente.
Tom Yan
6

QD significa "Profundidade da Fila". Na prática, isso significa quantas operações de IO o sistema operacional é capaz de fornecer ao dito dispositivo antes de esperar por uma resposta a qualquer uma dessas operações.

Aplicações normais geralmente lêem algo, aguardam o resultado e, em seguida, passam a ler alguma outra coisa após o primeiro resultado ter sido processado. Isso é QD1 porque apenas uma operação de leitura é executada em paralelo e os resultados são necessários antes que outra solicitação possa ser feita. Praticamente todas as aplicações que não são de banco de dados pertencem a essa classe. (Todos os trabalhos em vídeo geralmente pertencem a essa classe, exceto que o tamanho do IO é muito maior / mais fácil do que 4K).

Um sistema de servidor geralmente executa vários processos QD1 em paralelo e, se o servidor estiver rodando, digamos 32-64 processos paralelos QD1, a carga geral para o dispositivo pode ser em torno de QD32.

Se alguma especificação de dispositivo SSD disser "Random 4K Read" ou "Random 4K Write", você pode ter absoluta certeza de que significa QD32 porque a especificação QD1 é sempre muito menor e os fabricantes não gostam de números baixos nas folhas de especificações.

Se você não tem certeza de que seu sistema é capaz de operar continuamente o nível real do QD32, você deve olhar apenas os números do QD1. Se você está interessado em latência de qualquer operação, você deve olhar os números QD1 apenas mesmo no caso de o sistema estar executando o QD32 em geral.

TL; DR: QD32 = melhor comportamento do caso, QD1 = pior comportamento do caso.

Por exemplo, a unidade SSD Toshiba Hawk HK4E afirma ter "Random 4K Read: 75K IOPS" e "Random 4K Write: 30K IOPS". Esses são números QD32. O desempenho real do QD1 é de cerca de 6.5K IOPS para leitura e 6.5K IOPS para gravação. E se você sincronizar a unidade após cada operação (aguarde que os dados estejam no disco antes de continuar) para a gravação aleatória 4K QD1, você obtém 0.7K IOPS.

Se você estiver executando o Linux, poderá comparar com seu disco atual com o seguinte teste (isso testa o disco que está armazenando o diretório de trabalho atual):

fio --name TEST --eta-newline=5s --filename=test.img --rw=randwrite --size=500m \
     --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 \
     --direct=1 --numjobs=1 --runtime=60 --group_reporting

Usar --fsync=0 para testes sem sincronização com armazenamento permanente (se a obtenção de dados para o cache interno for suficiente) e defina --iodepth=32 para testes QD32. Finalmente, defina --blocksize=2048k para ter alguma idéia sobre largura de banda utilizável para edição de vídeo (mas lembre-se que o software de vídeo geralmente tem QD1 ou QD2).

(Além disso, eu esperaria RAM suficiente para ser muito melhor investimento para edição de vídeo / criação de trabalho. Se o seu sistema parece instável, obter ECC RAM. Se seu poder parece instável, obter UPS. Trabalho de vídeo não deve exigir desempenho aleatório 4K Eu recomendo pelo menos 32 GB de RAM para qualquer trabalho relacionado a vídeos, a menos que seus clipes de vídeo sejam realmente curtos.)

Mikko Rantalainen
fonte
2
Esta deve ser a resposta aceita.
FarO
Veja também: askubuntu.com/a/991311/50254
Mikko Rantalainen