Uma operação do sistema de arquivos que incorreria em um custo de busca / rotação

0

Eu estou olhando para gerar uma carga de trabalho que fará operações em um sistema de arquivos que fará com que o acesso ao disco tenha custo rotacional ou de busca.

Detalhes do env:

tamanho da partição: 30 G. Sistema de arquivos: ext4.

Estou basicamente procurando projetar uma carga de trabalho de acesso a arquivos inválidos (ou seja, o perf deve ser ruim).

Isso é o que eu tentei até agora:

Criado um arquivo, diga "X" (tamanho ~ 400 MB). Isso foi criado no grupo de blocos 45 (na verdade, ele estava abrangendo vários grupos). Minha partição tem 241 grupos de blocos. Eu criei mais um arquivo e por acaso isso foi criado no grupo número 100 (vamos chamar isso de D1). Eu criei mais um arquivo, novamente por acaso, que foi alocado para o grupo 45 (Vamos chamar esse arquivo D2. Eu criei o arquivo antes de preencher X com algum texto enorme).

Eu tentei executar um script que copiava dados de X para D1 e D2. Eu estava pensando que o desempenho dessas duas cópias deveria ser muito díspar. Mas este não é o caso, infelizmente. Eu não consigo entender por que isso acontece.

Como posso fazer o FS se comportar mal em termos de perf?

    
por Ram 14.09.2013 / 05:57

1 resposta

0

Provavelmente, todas essas operações estão sendo armazenadas em cache na RAM, então você não está interagindo com o disco. As leituras são feitas a partir da RAM, as gravações são armazenadas em cache na RAM e os comandos são concluídos antes que a gravação no disco tenha realmente ocorrido.

Para corrigir isso, inicie cada teste com estes comandos:

sync
echo 3 > /proc/sys/vm/drop_caches

E termine com isso:

sync

sync irá liberar todas as gravações no disco. O comando echo descartará o cache para que as leituras posteriores sejam lidas no disco. Isso deve ser executado como root.

Para tornar sua vida mais fácil, em vez de criar arquivos e tentar colocá-los no lugar certo, por que não apenas ler diretamente do arquivo dev para o disco, por exemplo, /dev/sda ?

    
por 14.09.2013 / 15:54