Rendimiento del disco lento en el contenedor Docker

4

Problema

Tengo un IO de disco extremadamente lento dentro de un contenedor Docker. Estoy usando Boot2Docker, así que en realidad ahora me pregunto si el problema es vboxsf.

Pruebas

solía este guión inicialmente porque estaba depurando una aplicación web, pero parece que es el disco que se lee.

  • Dentro de Docker: 1.6156311035156
  • Anfitrión: 0.022423028945923

Probé la velocidad del disco con dd y los resultados dentro del contenedor:

$ time sh -c "dd if=/dev/zero of=ddfile bs=8k count=25000 && sync"; rm ddfile
25000+0 records in
25000+0 records out
204800000 bytes (205 MB) copied, 4.23099 s, 48.4 MB/s

real    0m4.241s
user    0m0.000s
sys 0m2.110s

Y en el host:

$ time sh -c "dd if=/dev/zero of=ddfile bs=8k count=25000 && sync"; rm ddfile
25000+0 records in
25000+0 records out
204800000 bytes transferred in 0.482290 secs (424640750 bytes/sec)
sh -c "dd if=/dev/zero of=ddfile bs=8k count=25000 && sync"  
0.01s user 0.30s system 48% cpu 0.650 total

El host emitió en bytes y el contenedor en mbs, pero al convertir esos números, la diferencia de velocidad es aproximadamente 10 veces la velocidad.

Estoy usando Docker's -v host / folder: container: / folder para montar el código base en el contenedor. No estoy muy seguro de a dónde ir desde aquí. ¿Hay algunos problemas conocidos con los montajes Docker? ¿O podría haber otro problema en juego?


fuente
¿En qué consiste su almacenamiento?
Michael Hampton
Es un Macbook Pro, con un SSD Intel. ¿Por qué el voto negativo?

Respuestas:

5

por lo que está utilizando un mac. Eso significa que está instalando la ventana acoplable en virtualbox ... así es como funciona el almacenamiento

os x -> virtualbox vm -> linux FS of choice -> aufs -> docker

Así que está agregando otra capa de VM sobre lo que la ventana acoplable ya tiene.

No creo que nadie haya afirmado que la IO de la ventana acoplable funcionará cerca de lo que se ve en el host.

Mike
fuente
Gracias, no estaba diciendo que alguien lo reclamara, simplemente no entendía por qué tenía tanta lentitud. Encontré algunos problemas de Github sobre vboxfs y posiblemente usando NFS como alternativa. ¿Eso ayudaría aquí?
5

El problema es vboxsf, no docker. Pasé días jugando con esto. vboxsf es increíblemente lento. NFS es más rápido, depende de lo que quieras hacer.

Decidí que no necesitaba los archivos en mi host de todos modos, por lo que, posteriormente, acabo de crear un nuevo disco virtual en mi archivo errante, que es donde se clonó mi fuente, y luego simplemente hice una copia de seguridad de ese archivo.

Esto es difícil de hacer con el boot2docker que encontré, así que solo uso virtual box y vagrant con una imagen que hice, hp-ess / docker, que contiene la última ventana acoplable y la ventana acoplable.

Stono
fuente