Выполнение Docker на хосте EC2 замедляется

Выполнение Docker на хосте EC2 замедляется

Недавно мы создали образ docker для запуска инструмента Terraspace для выполнения наших CI/CD в конвейерах GitLab. Контейнер использует ruby:3.0.2-alpineдля своего upstream, для справки.

Проблема, с которой мы сталкиваемся, заключается в том, что он работает крайне медленно при запуске на EC2 (m5.large), вот некоторые тайминги, которые включают запуск инструмента внутри образа docker и нативно на хосте. Тайминги docker выполняются внутри образа после того, как он уже загружен.

EC2 Докер ЕС2 Локальный докер Местный
реальные 5м33.403с реальное 0м44.799с реальный 1м40.842с реальное 0м39.626с
пользователь 0м11.150с пользователь 0m26.531s пользователь 0m24.736s пользователь 0m10.913s
система 0м1.437с система 0м3.276с система 0m13.846s система 0m4.580

Более медленное выполнение внутри Docker также справедливо для стандартного образа Terraspace boltops/terraspace.

Похоже, это не проблема использования ресурсов, поскольку во время выполнения на хосте остается достаточно ресурсов.

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

Вот информация о машине 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

Любая помощь в этом вопросе будет оценена по достоинству.

Связанный контент