Question Performances de disque lentes dans le conteneur Docker


Problème

J'ai un disque IO extrêmement lent dans un conteneur Docker. J'utilise Boot2Docker, alors je me demande si le problème est vboxsf?

Essai

j'ai utilisé ce script au début parce que je déboguais une application Web, mais il semble que ce soit le disque lui-même.

  • Dans Docker: 1.6156311035156
  • Hôte: 0.022423028945923

J'ai testé la vitesse du disque avec dd et les résultats à l'intérieur du conteneur:

$ 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

Et sur l'hôte:

$ 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

L'hôte a généré en octets et le conteneur en mbs, mais en convertissant ces nombres, la différence de vitesse est environ 10 fois plus rapide.

J'utilise le dossier -v host / folder: container: / de Docker pour monter la base de code dans le conteneur. Je ne sais pas trop où aller d'ici. Y a-t-il des problèmes connus avec les supports Docker? Ou pourrait-il y avoir un autre problème en jeu?


4
2017-12-31 11:24


origine


En quoi consiste votre stockage? - Michael Hampton
C'est un Macbook Pro, avec un SSD Intel. Pourquoi le vote bas?


Réponses:


donc vous utilisez un mac. Cela signifie que vous installez docker sur virtualbox .. alors voici comment le stockage va

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

Vous ajoutez donc une autre couche de VM à ce que docker a déjà dessus.

Je ne pense pas que quiconque ait prétendu que docker IO se comporterait de manière proche de ce que vous voyez sur l’hôte.


4
2018-01-01 01:35



Merci, je ne disais pas que quelqu'un le prétendait, je ne comprenais tout simplement pas pourquoi j'avais une telle lenteur. J'ai trouvé quelques problèmes Github à propos de vboxfs et possible en utilisant NFS comme alternative. Cela aiderait-il ici?


Le problème est vboxsf, pas docker. J'ai passé des jours à jouer avec ça. vboxsf est incroyablement lent. NFS est plus rapide, cela dépend de ce que vous voulez faire.

J'ai décidé que je n'avais de toute façon pas besoin des fichiers sur mon hôte, alors j'ai simplement créé un nouveau disque virtuel dans mon fichier vagabond, où mon source est clonée, puis je récupère ce fichier.

C'est difficile à faire avec boot2docker que j'ai trouvé, donc j'utilise juste une boîte virtuelle et un vagabond avec une image que j'ai créée, hp-ess / docker qui contient le dernier menu fixe et le docker.


5