Número prático de limite LXC simultâneo em um nó

2

Existe algum limite prático no número de contêineres LXC simultâneos a serem executados em uma caixa?

Obviamente, isso depende da especificação do nó (cpu, ram, ..) mas realmente o que eu estou querendo saber é o custo de executar um processo diretamente no sistema operacional ao executar o mesmo processo no container dedicado na mesma caixa? Se você tem que colocar um número na diferença, o que é isso na cabeça? Esta é uma boa maneira de descobrir o número máximo de contêineres lxc que você deve executar em um servidor?

    
por iCode 12.09.2013 / 23:16

2 respostas

2

Como foi dito acima, a sobrecarga é mínima. A troca de namespaces geralmente vem sem sobrecarga (esses campos já existem até mesmo para processos de host), então a sobrecarga principal vem dos poucos recursos extras que precisam ser criados pelo LXC, geralmente 4-5 bind-mounts, talvez um par de montagens tmpfs , dois dispositivos VETH e um dispositivo de loopback.

Como as bibliotecas costumam ser compartilhadas entre os contêineres, até mesmo iniciar o init e vários outros processos não custa muitos recursos.

Tudo o que dizer é muito difícil responder à sua pergunta :) Se você pegar um único processo e compará-lo em execução no host ou em um contêiner, a sobrecarga desse processo específico será 0. A sobrecarga real do LXC vem do pai e dos recursos adicionais do processo que o processo pode usar (dispositivos de rede, ...).

De qualquer forma, eu não fiz nenhum benchmarking louco recentemente, mas alguns meses atrás eu consegui rodar em torno de milhares de containers apache2 completos com um sistema init em uma simples caixa Pentium4 com 4GB de RAM. Esses contêineres estavam compartilhando seus rootfs para otimizar o uso da memória compartilhada, mas tudo começou bem.

Ah, e sobre o limite de pid_max, não é realmente um limite, pois isso pode ser afetado até hoje em 2 ^ 64 (pelo menos em sistemas de 64 bits), então o limite de 32768 é algo do passado.

    
por stgraber 08.01.2014 / 22:28
1

A sobrecarga é muito baixa e você pode executar um número muito alto de contêineres que não fazem nada, mas isso também não seria muito interessante. Quantos contêineres úteis você pode executar em seu sistema, depende de como você define útil. Você terá que testar casos de uso reais e ver.

Um limite prático, no entanto, é o número de pids permitidos. Você pode ver isso observando /proc/sys/kernel/pid_max . Mas provavelmente não é um número útil, pelas razões explicadas acima.

    
por Jo-Erlend Schinstad 13.09.2013 / 00:34