EC2 호스트에서 Docker 실행 속도가 느려짐

EC2 호스트에서 Docker 실행 속도가 느려짐

우리는 최근 GitLab 파이프라인에서 CI/CD를 실행하기 위해 Terraspace 도구를 실행하기 위한 도커 이미지를 만들었습니다. 컨테이너는 ruby:3.0.2-alpine참조용으로 업스트림에 사용됩니다.

우리가 직면한 문제는 EC2(m5.large)에서 실행될 때 속도가 매우 느리다는 것입니다. 다음은 도커 이미지 내부와 기본적으로 호스트에서 도구를 실행하는 것을 포함하는 몇 가지 타이밍입니다. Docker 타이밍은 이미지가 이미 다운로드된 후 이미지 내부에서 수행됩니다.

EC2 도커 EC2 로컬 도커 현지의
실제 5분 33.403초 실제 0m44.799s 실제 1분 40.842초 실제 0m39.626s
사용자 0m11.150s 사용자 0m26.531s 사용자 0m24.736s 사용자 0m10.913s
시스템 0m1.437s 시스템 0m3.276s 시스템 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

도커 머신 정보는 다음과 같습니다.

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

이에 대한 도움을 주시면 감사하겠습니다.

관련 정보