Desvantagens de leitura antecipada do Linux

5

Espero que tudo esteja bem. Eu tenho uma dúvida sobre o cache de leitura antecipada.

Há alguma desvantagem em aumentar o tamanho do cache de leitura antecipada?

Na nossa farm, estamos atualmente em 256, e ao subirmos mais alto, estamos vendo ganhos significativos de taxa de transferência.

[root@server~]# hdparm -tT /dev/sda /dev/sda: 
Timing cached reads: 7352 MB in 2.00 seconds = 3677.62 MB/sec 3
Timing buffered disk reads: 244 MB in 3.10 seconds = 78.68 MB/sec 

[root@server ~]# blockdev --setra 10240 /dev/sda 

[root@server ~]# hdparm -tT /dev/sda /dev/sda: 
Timing cached reads: 11452 MB in 2.00 seconds = 5728.52 MB/sec 
Timing buffered disk reads: 422 MB in 3.17 seconds = 133.04 MB/sec

Estamos rodando no 2.6. Obrigado!

    
por JPerkSter 03.06.2010 / 23:28

1 resposta

7

As desvantagens são

  • IO desperdiçado. Seu computador pode gastar tempo lendo as coisas da unidade que não precisa
  • Memória desperdiçada. As coisas que leu e que não precisaram ser lidas estão armazenadas na memória que poderia ter sido usada para outra coisa.

Você provavelmente precisará criar um teste mais representativo do seu uso no mundo real do que hdparm -t . O hdparm -t faz o acesso seqüencial, que é um caso em que uma grande leitura antecipada será muito útil. Quando você tem muitos acessos aleatórios, os ganhos podem não ser tão úteis e provavelmente prejudiciais.

Tanto quanto eu sei, não há perigo para os seus dados, apenas um potencial para o seu desempenho piorar, dependendo da sua carga de trabalho específica. Este é provavelmente um dos tipos de coisas que você vai ter que ajustar e testar. Eu não acho que faria uma mudança tão grande (de 256-10240) em uma única etapa.

    
por 04.06.2010 / 01:38