RHEL + podemos melhorar o desempenho dos discos ajustando os parâmetros do kernel?

RHEL + podemos melhorar o desempenho dos discos ajustando os parâmetros do kernel?

temos cluster Hadoop e estamos coletando dados de coleta de métricas para investigar o comportamento de lentidão em aplicativos Spark

após uma longa investigação em nosso cluster Hadoop

notamos no ponto de métricas do Prometheus que node_disk_io_now está com valores altos, mais do que normal, e é relevante para todos os discos HDFS em máquinas de nós de dados

a definição de node_disk_io_now é:

node_disk_io_now (campo 9) O único campo que deve ir para zero. Incrementado à medida que as solicitações são fornecidas à estrutura request_queue apropriada e decrementado à medida que terminam.

queremos saber se o ajuste dos parâmetros do kernel pode trazer aspectos positivos no desempenho dos discos

de acordo com a definição de node_disk_io_now, parece que muitas tarefas estão aguardando na fila,

e talvez alguns parâmetros do kernel possam ajudar a melhorar o comportamento acima, para que as tarefas na fila não estejam lá por muito tempo

Responder1

Na sua pergunta, não consigo ver que tipo de disco você está usando, SSD/SAS/NLSAS ou híbrido. Esta é a parte mais importante da sua seleção.

Para responder à sua pergunta, para parâmetros do kernel, eu diria que sim, existem alguns parâmetros com os quais você pode brincar para encontrar o melhor ajuste para o seu cluster.

A parte importante da otimização de IO é o IO Scheduler. Nos Kernels Linux atuais, existem três IO Schedulers.

NOOP(FIFO):Usado para armazenamentos do tipo SAN e SSD, onde o dispositivo de armazenamento por si só é inteligente o suficiente para cuidar de sua própria otimização.

PRAZO FINAL:Em geral, é bom para servidores de arquivos e bancos de dados. Você deve considerar se está melhorando a taxa de transferência ou a latência. Ou você pode aumentar as solicitações de leitura ou vice-versa.

CFQ:Não recomendado para servidores, bom para uso em desktop.

Além dos IO Schedulers, existem alguns outros parâmetros para memória virtual que apenas os mencionarei abaixo, mas você mesmo precisa ler mais sobre eles, para aumentar o desempenho.

vm.swappiness
vm.dirty_ratio
vm.dirty_background_ratio
vm.dirty_expire_centisecs
and....

Responder2

Não há (que eu saiba) opções de kernel que possam melhorar isso. No entanto, você pode querer verificar se todos os outros nós do controlador RAID têm os mesmos valores (tamanho de gravação do bloco, por exemplo) que esse nó, ou o contrário, na verdade.

Certifique-se também de que todas as suas montagens em /etc/fstab tenham as mesmas opções.

Fora isso, você precisa verificar as especificações dos seus discos e certificar-se de que são iguais.

Você também pode verificar o tamanho da RAM, pois alguns sistemas de arquivos fazem cache pesado na RAM. Não tenho certeza sobre o HDFS, mas, por exemplo, o ZFS depende muito disso.

informação relacionada