Estou tentando estabelecer os threads máximos de gravação que um disco rígido pode manipular, por exemplo, se a velocidade desejada for de 20KB / s por thread, como posso testar o máximo de gravações simultâneas antes que o disco seja mais lento, e vamos supor SO, sistema de arquivos ou o aplicativo não está à parte do gargalo.
Cada arquivo que está sendo escrito é diferente por usuário.
Eu li Alcance Velocidade máxima de gravação no disco rígido postado por outro usuário, mas onde esta questão é diferente é a outra questão focada em quantos arquivos um segundo enquanto o meu é quantos com base em X KB / seg.
Fiz um teste usando o HD Tune e o CrystalDiskMark, mas infelizmente acho que isso abrange apenas transferências de thread único ou não sei ler os resultados e calcular a partir deles.
Aqui está o resultado do CrystalDiskMark, não tenho certeza se isso é útil ou não.
Questões)
- Como posso testar um disco rígido e descobrir quantos discos simultâneos gravam o disco pode manipular com base na configuração de uma velocidade mínima de 100 KB / s
fonte
Respostas:
Depende inteiramente se você está fazendo E / S seqüencial ou aleatória, e com que freqüência você quer / precisa descarregar para o disco ...
Tanto 20 KB / se 100 KB / s são insignificantes com o hardware atual. No screenshot do CrystalDiskMark, e sua preocupação eu suspeito que você esteja lidando com um disco giratório ... por que não usar um SSD?
Não é uma questão de afogar o disco, mas sim que o movimento físico da cabeça leva tempo para ser concluído. Com E / S aleatória isso é exacerbado à medida que o tamanho de cada bloco escrito diminui, e o tempo de busca entre gravações aumenta.
Sem conhecer o estado do sistema de arquivos em termos de fragmentação e espaço livre, você não pode presumir isso, e certamente não pode assumir isso ao longo da vida de um produto ou instalação.
Se você está sofrendo de problemas de desempenho, então você vai querer fazer uso da E / S armazenada em buffer - isto é, gravar em um arquivo realmente coleta dados em um buffer, antes de gravar um bloco maior no disco de uma só vez.
Escrever 100 KB / s por um período de 10 segundos pode ser apresentado ao armazenamento como qualquer um dos seguintes (ou mais):
Estamos discutindo o regular (vermelho) ou infreqüente (verde)? Cada uma das cores " gravará " a mesma quantidade de dados no mesmo período de tempo.
Escrever blocos maiores de uma só vez ajudará na taxa de transferência e na fragmentação do sistema de arquivos, embora haja uma desvantagem a ser considerada.
O sistema de arquivos ou sistema operacional pode impor regras sobre a frequência com que o cache de arquivos é gravado no disco, portanto, talvez seja necessário gerenciar esse armazenamento em cache no aplicativo ... Comece usando E / S armazenada em buffer e, se isso não for possível, revise a situação.
Você está satisfeito com o upload de um arquivo de 1 GB por mais de 14,5 horas? Com todos os problemas que as falhas ocorrem (ou seja, reenviá-lo desde o início).
fonte