Execução do Docker mais lenta no host EC2

Execução do Docker mais lenta no host EC2

Recentemente, criamos uma imagem docker para executar a ferramenta Terraspace para executar nosso CI/CD em pipelines do GitLab. O contêiner usa ruby:3.0.2-alpineupstream, para referência.

O problema que estamos enfrentando é que ele é extremamente lento quando executado no EC2 (m5.large), aqui estão alguns tempos que incluem a execução da ferramenta dentro da imagem do docker e nativamente no host. Os tempos do docker são executados dentro da imagem após ela já ter sido baixada.

Docker EC2 EC2 Docker local Local
5m33.403s reais 0m44.799s reais 1m40.842s reais 0m39.626s reais
usuário 0m11.150s usuário 0m26.531s usuário 0m24.736s usuário 0m10.913s
sistema 0m1.437s sistema 0m3.276s sistema 0m13.846s sistema 0m4.580

A execução mais lenta dentro do docker também é verdadeira para a imagem padrão do terraspace boltops/terraspace.

Não parece ser um problema de uso de recursos, pois há muitos recursos restantes no host durante a execução

CONTAINER ID   NAME            CPU %     MEM USAGE / LIMIT    MEM %     NET I/O          BLOCK I/O     PIDS
9b05765250b8   quirky_spence   0.54%     1.21GiB / 7.583GiB   15.95%    300MB / 3.43MB   0B / 1.08MB   3

Aqui estão as informações da máquina docker:

lient:
 Context:    default
 Debug Mode: false

Server:
 Containers: 4
  Running: 0
  Paused: 0
  Stopped: 4
 Images: 3
 Server Version: 20.10.4
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc version: %runc_commit
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.14.238-182.422.amzn2.x86_64
 Operating System: Amazon Linux 2
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 7.583GiB
 Name: ip-10-0-4-227
 ID: FUYW:PCXQ:5ZFW:4SMP:YIG4:RNBH:HCMH:6R53:NHS2:HTJO:VAKM:5QFB
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://docker-proxy/
 Live Restore Enabled: false

Qualquer ajuda seria apreciada nisso.

informação relacionada