Implementaremos o ajuste (e o numad) em ~ 1000 servidores, a maioria deles servidores VMware no armazenamento NetApp ou 3Par.
De acordo com a documentação do RedHats, devemos escolher o virtual-guest
perfil. O que está fazendo pode ser visto aqui: tuned.conf
Estamos alterando o agendador de E / S para NOOP, pois o VMware e o NetApp / 3Par devem fazer agendamento suficiente para nós.
No entanto, depois de investigar um pouco, não sei por que eles estão aumentando vm.dirty_ratio
e kernel.sched_min_granularity_ns
.
Tanto quanto eu entendi, aumentar vm.dirty_ratio
para 40% significa que, para um servidor com 20 GB de RAM, 8 GB podem estar sujos a qualquer momento, a menos que vm.dirty_writeback_centisecs
seja atingido primeiro. E durante a liberação desses 8 GB, todas as E / S do aplicativo serão bloqueadas até que as páginas sujas sejam liberadas.
Aumentar o dirty_ratio provavelmente significaria maior desempenho de gravação em picos, pois agora temos um cache maior, mas, novamente, quando o cache preencher IO, será bloqueado por um tempo consideravelmente mais longo (vários segundos).
A outra é por que eles estão aumentando o sched_min_granularity_ns
. Se eu entendi corretamente, aumentar esse valor diminuirá o número de intervalos de tempo por época ( sched_latency_ns
), o que significa que as tarefas em execução terão mais tempo para concluir seu trabalho. Eu posso entender que isso é uma coisa muito boa para aplicativos com muito poucos threads, mas por exemplo. apache ou outros processos com muitos threads isso não seria contraproducente?
fonte
deadline
vez de NOOP, no VMware com armazenamento adequado?deadline
... mas também vejo minha resposta.Aqui está a programação das configurações de admissão ajustada ...
Eu acho que ajuda vê-los em forma de tabela. O principal a notar é que as configurações padrão do RHEL6 são uma porcaria! A outra coisa é que os perfis de armazenamento corporativo e de convidado virtual são idênticos, exceto pela menor troca no lado do convidado virtual (faz sentido, certo?).
Quanto a uma recomendação sobre o elevador de E / S de armazenamento, você tem algumas camadas de abstração na camada de armazenamento. Usar o planejador noop faria sentido se você estivesse usando RDMs ou apresentasse armazenamento diretamente em suas máquinas virtuais. Mas como eles vão viver no NFS ou VMFS, ainda gosto das opções de ajuste adicionais oferecidas pelo agendador de prazos.
Os perfis ajustados podem ser alterados on-the-fly nos sistemas em execução; portanto, se você tiver alguma dúvida, teste com seu aplicativo, ambiente e benchmark específicos.
fonte
deadline
agora :)Assista aos vídeos de ajuste de desempenho de Shak e Larry da Summit, eles falam sobre os perfis ajustados em profundidade.
Uma das maiores conclusões pretendidas é que os perfis são apenas um ponto de partida recomendado, não números imutáveis que são magicamente perfeitos para todos os ambientes.
Comece com um perfil e brinque com as configurações. Gere uma boa carga de trabalho de teste semelhante à produção e meça métricas importantes para o seu negócio.
Altere uma coisa de cada vez e registre todos os resultados a cada iteração. Quando terminar, analise os resultados e escolha as configurações que deram os melhores resultados. Esse é o seu perfil sintonizado ideal.
fonte