Docker-Ausführung auf EC2-Host langsamer

Docker-Ausführung auf EC2-Host langsamer

Wir haben vor Kurzem ein Docker-Image erstellt, um das Terraspace-Tool für die Ausführung unserer CI/CD in GitLab-Pipelines auszuführen. Der Container verwendet es ruby:3.0.2-alpineals Referenz für seinen Upstream.

Das Problem, mit dem wir konfrontiert sind, ist, dass es bei der Ausführung auf EC2 (m5.large) extrem langsam ist. Hier sind einige Zeitangaben, die das Ausführen des Tools innerhalb des Docker-Images und nativ auf dem Host beinhalten. Die Docker-Zeitangaben werden innerhalb des Images ausgeführt, nachdem es bereits heruntergeladen wurde.

EC2 Docker EC2 Lokaler Docker Lokal
echte 5m33.403s real 0m44.799s real 1m40.842s real 0m39.626s
Benutzer 0m11.150s Benutzer 0m26.531s Benutzer 0m24.736s Benutzer 0m10.913s
System 0 m1,437 s System 0 m3,276 s sys 0m13.846s System 0m4.580

Die langsamere Ausführung innerhalb von Docker gilt auch für das Standard-Terraspace-Image boltops/terraspace.

Es scheint kein Problem mit der Ressourcennutzung zu sein, da während der Ausführung genügend Ressourcen auf dem Host verbleiben

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

Hier sind die Informationen zur Docker-Maschine:

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

Für jede Hilfe wäre ich dankbar.

verwandte Informationen