¿El contenedor acoplable causa un rendimiento lento del disco/sistema operativo?

¿El contenedor acoplable causa un rendimiento lento del disco/sistema operativo?

Tenemos 3 servidores, cada uno de los cuales ejecuta RHEL 7.6. Cada máquina tiene 64 GB de RAM y 15 CPU.

Nos estamos preparando para instalar un conjunto de servicios --- kafka, zookeeper, schema registry--- en todas las máquinas. Cada servicio se basa en un contenedor acoplable.

Estamos planeando instalar Docker en todas las máquinas y cada máquina tendrá tres contenedores Docker.

¿Los contenedores acoplables tienen un impacto negativo cuando todos los contenedores forman parte del disco del sistema operativo? ¿Deberíamos agregar discos adicionales en cada máquina y asignar los contenedores acoplables en el disco adicional? ¿Cuál es la mejor práctica aquí?

Respuesta1

Responderé a esto desde el punto de vista teórico, no tengo experiencia con Kafka en Docker.

Docker es en gran medida una tecnología de aislamiento.NO es una máquina virtual. Esto significa que es mucho más ligero de lo que cabría esperar. Una gran parte de ella está construida alrededorespacios de nombresy soportes incluidosunir montajes.

Dependerá un poco de lo que le pidas a Docker:

  • Si usas unenlazar montajeo unvolumen de la ventana acoplableluego, estos se almacenan directamente como archivos en el sistema host. Su sobrecarga de rendimiento no debería ser mayor que la de un montaje de enlace de Linux porque eso es exactamente lo que obtienes. Esta sobrecarga de rendimiento es casi nula.

  • Otros volúmenes de almacenamiento comoaquellos respaldados por amazon S3puede venir con gastos generales.

En resumen, el resultado en el disco debería ser generalmente muy similar al de la ejecución en el sistema host. Docker simplemente crea una caja de arena ordenada y la llama contenedor.

información relacionada