Docker 在 EC2 主機上執行速度較慢

Docker 在 EC2 主機上執行速度較慢

我們最近創建了一個 docker 映像來運行 Terraspace 工具,以便在 GitLab 管道中執行 CI/CD。此容器用於ruby:3.0.2-alpine其上游,供參考。

我們面臨的問題是,在 EC2 (m5.large) 上執行時速度非常慢,以下是一些時間安排,包括在 docker 映像內以及在主機上本地運行該工具。下載映像後,docker 計時會在映像內部執行。

EC2 Docker EC2 本地 Docker 當地的
真實5分33秒403秒 真實0米44.799秒 真實1m40.842s 真實0米39.626秒
用戶0分11.150秒 用戶 0m26.531s 用戶 0m24.736s 用戶0分10.913秒
系統0m1.437s 系統0m3.276s 系統 0m13.846s 系統0m4.580

對於標準 terraspace 映像來說,docker 內部的執行速度也較慢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

對此有任何幫助將不勝感激。

相關內容