O Red Hat OpenShift Virtualization ajuda a remover barreiras de carga de trabalho ao unificar a implantação e o gerenciamento de máquinas virtuais (VM) juntamente com aplicações em containers de maneira nativa em nuvem. Como parte da equipe de desempenho e escala, estamos profundamente envolvidos na medição e análise de VMs em execução no OpenShift desde o início do projeto open source KubeVirt e ajudamos a impulsionar a maturidade da solução por meio da avaliação de novas funcionalidades, ajuste de carga de trabalho e teste de escala. Neste artigo, vamos detalhar várias de nossas áreas de foco e compartilhar outros insights sobre como executar e ajustar cargas de trabalho de VMs no OpenShift.
Guias de ajustes e escala
Nossa equipe contribui com a documentação de ajustes e escala para ajudar os clientes a aproveitar ao máximo suas implantações de VM. Primeiro, temos um guia geral de ajustes, disponível neste artigo da base de conhecimento. Este guia abrange recomendações para otimizar o control plane do Virtualization para altas taxas de criação de "burst" de VM e várias opções de ajuste nos níveis de host e VM para melhorar o desempenho da carga de trabalho.
Em seguida, publicamos uma arquitetura de referência detalhada que inclui um exemplo de cluster do OpenShift e do Red Hat Ceph Storage (RHCS) e detalhes de ajuste de rede. Ela também examina exemplos de implantação de VMs e tempos de boot storm, desempenho de escala de latência de E/S, migração e paralelismo de VMs e realização de upgrades de cluster em escala.
Áreas de foco da equipe
As seções a seguir trazem uma visão geral de algumas das nossas principais áreas de foco e detalhes sobre os testes que fazemos para caracterizar e melhorar o desempenho das VMs em execução no OpenShift. A Figura 1 abaixo ilustra nossas áreas de foco.
Figura 1. Áreas de foco de desempenho do OpenShift Virtualization
Desempenho de cargas de trabalho
Passamos muito tempo nos concentrando nas principais cargas de trabalho que abrangem componentes de computação, rede e armazenamento para garantir uma ampla cobertura. Esse trabalho inclui a coleta de linhas de base contínuas em diferentes modelos de hardware, a atualização de resultados à medida que novas versões são lançadas e o aprofundamento em várias opções de ajuste para chegar ao desempenho ideal.
Uma das principais áreas de foco das cargas de trabalho é o desempenho do banco de dados. Normalmente, usamos o HammerDB como o driver de carga de trabalho e nos concentramos em vários tipos de bancos de dados, incluindo MariaDB, PostgreSQL e MSSQL, para entender como os bancos de dados com características diferentes funcionam. Este template apresenta um exemplo de definição de VM do HammerDB.
Outra grande área de foco das cargas de trabalho é o banco de dados in-memory de alta produtividade, o SAP HANA, com a meta de desempenho dentro de 10% do bare metal. Conseguimos isso aplicando alguns ajustes no estilo de isolamento na camada do host e da VM, incluindo o uso de CPUManager, o ajuste da afinidade de processos controlada pelo systemd, o backup da VM com hugepages e o uso de conexões de rede SRIOV.
Para trabalhar ainda mais o desempenho do armazenamento, executamos um conjunto de padrões de aplicações de E/S diferentes com foco em IOPs (operações de entrada/saída por segundo) e na latência usando a carga de trabalho do Vdbench. Os padrões de aplicações variam o tamanho do bloco, o tipo de operação de E/S, o tamanho e o número de arquivos e diretórios, e ajustam a combinação de leituras e gravações. Dessa forma, podemos observar vários comportamentos de E/S para entender diferentes características de desempenho. Também executamos outro microbenchmark de armazenamento comum, o Fio, para medir vários perfis de armazenamento. Testamos vários provedores de armazenamento persistente, mas nosso foco principal é o OpenShift Data Foundation usando volumes de dispositivo de bloco (RBD) RADOS no modo Bloco em VMs.
Também nos concentramos em diferentes tipos de microbenchmarks para avaliar o desempenho de outros componentes e realizar algumas dessas cargas de trabalho mais complexas. Para redes, normalmente usamos a carga de trabalho uperf para medir as configurações de teste Stream e RequestResponse para vários tamanhos de mensagens e contagens de thread, com foco no podnetwork padrão e em outros tipos de interface de rede do container (CNI), como Linux Bridge e Redes adicionais do OVN-Kubernetes. Para testes de computação, usamos uma variedade de benchmarks, como stress-ng, Blackscholes, SPECjbb2005 e outros, dependendo da área de foco.
Teste de regressão
Usando um framework de automação chamado benchmark-runner, executamos continuamente configurações de carga de trabalho e comparamos os resultados com linhas de base conhecidas para identificar e corrigir regressões em versões anteriores ao lançamento do OpenShift Virtualization. Como nos preocupamos com o desempenho da virtualização, executamos esse framework de testes contínuo em sistemas bare metal. Comparamos cargas de trabalho com configurações semelhantes em pods, VMs e containers em sandbox para entender o desempenho relativo. Essa automação nos permite instalar rapidamente novas versões de pré-lançamento do OpenShift e os operadores em que nos concentramos, incluindo OpenShift Virtualization, OpenShift Data Foundation, Local Storage Operator e containers em sandbox do OpenShift. Caracterizar o desempenho de versões de pré-lançamento várias vezes por semana nos permite detectar qualquer regressão antes de serem lançadas aos clientes e comparar as melhorias de desempenho ao longo do tempo à medida que atualizamos para versões mais recentes com funcionalidades melhoradas.
Estamos sempre expandindo nossa cobertura de carga de trabalho automatizada contínua, mas o conjunto atual de cargas de trabalho que executamos regularmente inclui benchmarks de banco de dados, microbenchmarks de computação, uperf, Vdbench, Fio e testes de latência de inicialização de pod e "boot storm" de VM que exercitam várias áreas do cluster para medir a rapidez com que um grande número de pods ou VMs pode ser iniciado de uma vez.
Desempenho da migração
Uma vantagem de usar um provedor de armazenamento compartilhado que permite o modo de acesso RWX é que as cargas de trabalho de VM podem migrar ao vivo de maneira mais simplificada durante os upgrades do cluster. Trabalhamos constantemente para melhorar a velocidade onde as VMs podem migrar sem interrupção significativa da carga de trabalho. Isso envolve testar e recomendar limites e políticas de migração para fornecer valores padrão seguros e testar limites muito mais altos para descobrir obstáculos nos componentes de migração. Também avaliamos os benefícios da criação de uma rede de migração dedicada e analisamos a rede no nível do nó e as métricas de migração por VM para caracterizar o progresso da migração na rede.
Desempenho de escala
Testamos ambientes em larga escala com frequência para descobrir obstáculos e avaliar opções de ajuste. Nossos testes de escala abrangem áreas que vão da escala do control plane do OpenShift à escala do control plane do Virtualization, escala da latência de E/S de carga de trabalho, paralelismo de migração, clonagem de DataVolume e ajuste de criação de "burst" de VM.
Ao longo desses testes, descobrimos vários bugs relacionados à escala que, ao final, levaram a melhorias, o que nos permitiu levar a próxima rodada de testes de escala ainda mais longe. Todas as práticas recomendadas relacionadas à escala que encontramos ao longo do caminho são documentadas em nosso Guia de ajustes e escala geral.
Desempenho de cluster hospedado
Uma área de foco crescente para nós é o control plane hospedado e o desempenho do cluster hospedado, examinando especificamente control planes hospedados em bare metal on-premises e clusters hospedados no OpenShift Virtualization, que usa o provedor de clusters KubeVirt.
Algumas de nossas áreas de trabalho iniciais são teste de escala de várias instâncias do etcd (veja a recomendação de armazenamento na seção Importante), teste de escala de control plane hospedado com carga de trabalho de API pesada e desempenho de carga de trabalho hospedada ao gerenciar clusters de control plane hospedados no OpenShift Virtualization. Confira nossas orientações sobre dimensionamento de clusters hospedados para ver um dos principais resultados desse trabalho recente.
Em seguida
Fique de olho nas próximas postagens que abordam essas áreas de desempenho e escala em mais detalhes, incluindo uma análise mais aprofundada da metodologia de orientação de dimensionamento de clusters hospedados e recomendações detalhadas de ajuste de migração de VMs.
Enquanto isso, continuaremos medindo e analisando o desempenho das VMs no OpenShift, superando novos limites de escala e nos concentrando em detectar e corrigir regressões antes que os lançamentos cheguem às mãos dos clientes.
Sobre o autor
Jenifer joined Red Hat in 2018 and leads the OpenShift Virtualization Performance team. Previously, she spent a decade working at IBM in the Linux Technology Center focused on Linux Performance.
Mais como este
Navegue por canal
Automação
Últimas novidades em automação de TI para empresas de tecnologia, equipes e ambientes
Inteligência artificial
Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente
Nuvem híbrida aberta
Veja como construímos um futuro mais flexível com a nuvem híbrida
Segurança
Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias
Edge computing
Saiba quais são as atualizações nas plataformas que simplificam as operações na borda
Infraestrutura
Saiba o que há de mais recente na plataforma Linux empresarial líder mundial
Aplicações
Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações
Programas originais
Veja as histórias divertidas de criadores e líderes em tecnologia empresarial
Produtos
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Red Hat Cloud Services
- Veja todos os produtos
Ferramentas
- Treinamento e certificação
- Minha conta
- Suporte ao cliente
- Recursos para desenvolvedores
- Encontre um parceiro
- Red Hat Ecosystem Catalog
- Calculadora de valor Red Hat
- Documentação
Experimente, compre, venda
Comunicação
- Contate o setor de vendas
- Fale com o Atendimento ao Cliente
- Contate o setor de treinamento
- Redes sociais
Sobre a Red Hat
A Red Hat é a líder mundial em soluções empresariais open source como Linux, nuvem, containers e Kubernetes. Fornecemos soluções robustas que facilitam o trabalho em diversas plataformas e ambientes, do datacenter principal até a borda da rede.
Selecione um idioma
Red Hat legal and privacy links
- Sobre a Red Hat
- Oportunidades de emprego
- Eventos
- Escritórios
- Fale com a Red Hat
- Blog da Red Hat
- Diversidade, equidade e inclusão
- Cool Stuff Store
- Red Hat Summit