เด•เดพเดฑเตเดฑ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เดณเตเดŸเต† เดธเด‚เด•เตเดทเดฟเดชเตเดค เด…เดตเดฒเต‹เด•เดจเดตเตเด‚ เดธเดœเตเดœเต€เด•เดฐเดฃเดตเตเด‚

เด•เดพเดฑเตเดฑ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เดณเตเดŸเต† เดธเด‚เด•เตเดทเดฟเดชเตเดค เด…เดตเดฒเต‹เด•เดจเดตเตเด‚ เดธเดœเตเดœเต€เด•เดฐเดฃเดตเตเด‚
เด‡เดคเต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดˆ เดฒเต‡เด–เดจเด‚ เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเตเด‚ เด•เดพเดฑเตเดฑ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ, เด•เต‚เดŸเดพเดคเต† เดกเต‹เด•เตเด•เดฑเตเดฎเดพเดฏเตเดณเตเดณ เด…เดตเดฐเตเดŸเต† เดฌเดจเตเดงเดคเตเดคเดฟเตฝ เด’เดฐเต เดชเตเดฐเดพเดฏเต‹เด—เดฟเด• เดญเดพเด—เดตเตเด‚ เด‰เดฃเตเดŸเดพเด•เตเด‚.

เดกเต‹เด•เตเด•เดฑเตเดฎเดพเดฏเตเดณเตเดณ เดชเตŠเดคเตเดตเดพเดฏ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เด…เดตเดฏเตเดŸเต† เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เดŽเดดเตเดคเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเตเดจเตเดจเต, เด‡เดจเตเดจเต เดžเดพเตป Kata เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดจเดŸเดชเตเดชเดพเด•เตเด•เดฒเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต เดšเตเดฐเตเด•เตเด•เดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเด‚. เดญเดพเดฐเด‚ เด•เตเดฑเดžเตเดž เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดฑเตบเดŸเตˆเดฎเดพเดฃเต เด•เดพเดฑเตเดฑ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ. เด…เดตเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เดฎเดฑเตเดฑเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเตเดŸเต‡เดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เด•เต‚เดŸเดพเดคเต† เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดตเดฟเตผเดšเตเดšเตเดตเดฒเตˆเดธเต‡เดทเตป เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เด’เดฑเตเดฑเดชเตเดชเต†เดŸเดฒเตเดฎเตเดฃเตเดŸเต. 2017-เตฝ, เด‡เดคเต‡ เดชเต‡เดฐเดฟเดฒเตเดณเตเดณ เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เด‡เดจเตเดฑเตฝ เด•เตเดฒเดฟเดฏเตผ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเต‡เดดเตโ€Œเดธเต, เดนเตˆเดชเตเดชเตผ.เดทเต เดฑเตบเดตเดฟ เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเดฟเด•เดšเตเดš เด†เดถเดฏเด™เตเด™เดณเตเดŸเต† เดฒเดฏเดจเด‚ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟเดฏเดชเตเดชเต‹เตพ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด†เดฐเด‚เดญเดฟเดšเตเดšเต, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ AMD64, ARM, IBM p-, z เดŽเดจเตเดจเดฟเดตเดฏเตเตพเดชเตเดชเต†เดŸเต† เดตเดฟเดตเดฟเดง เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดคเตเดŸเตผเดจเตเดจเต. - เดชเดฐเดฎเตเดชเดฐ. เด•เต‚เดŸเดพเดคเต†, เดนเตˆเดชเตเดชเตผเดตเตˆเดธเดฑเดพเดฏ เด•เตเดฏเตเด‡เดŽเด‚เดฏเต, เดซเดฏเตผเด•เตเดฐเดพเด•เตเด•เตผ เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณเดฟเตฝ เดœเต‹เดฒเดฟเดฏเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเดฎเดพเดฏเตเดณเตเดณ เดธเด‚เดฏเต‹เดœเดจเดตเตเด‚ เด‰เดฃเตเดŸเต. เด•เต‹เดกเต เด‡เดตเดฟเดŸเต† เดฒเดญเตเดฏเดฎเดพเดฃเต เดธเดพเดฎเต‚เดนเดฟเด•เด‚ MIT เดฒเตˆเดธเตปเดธเดฟเดจเต เด•เต€เดดเดฟเตฝ.

เดชเตเดฐเดงเดพเดจ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ

  • เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด•เต‹เตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เด™เตเด™เดจเต† เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต, เดฎเต†เดฎเตเดฎเดฑเดฟ, เด / เด’ เดเดธเตŠเดฒเต‡เดทเตป เดŽเดจเตเดจเดฟเดต เดจเตฝเด•เตเดจเตเดจเต, เดตเดฟเตผเดšเตเดตเดฒเตˆเดธเต‡เดทเตป เดŽเด•เตเดธเตเดฑเตเดฑเตปเดทเดจเตเด•เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดเดธเตŠเดฒเต‡เดทเดจเตเดฑเต† เด‰เดชเดฏเต‹เด—เด‚ เดจเดฟเตผเดฌเดจเตเดงเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเดฃเต.
  • OCI (เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดซเต‹เตผเดฎเดพเดฑเตเดฑเต), Kubernetes CRI เด‰เตพเดชเตเดชเต†เดŸเต†เดฏเตเดณเตเดณ เดตเตเดฏเดตเดธเดพเดฏ เดจเดฟเดฒเดตเดพเดฐเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ
  • เดธเดพเดงเดพเดฐเดฃ เดฒเดฟเดจเด•เตเดธเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเตเดŸเต† เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดชเตเดฐเด•เดŸเดจเด‚, เดธเดพเดงเดพเดฐเดฃ VM-เด•เดณเตเดŸเต† เดชเต†เตผเดซเต‹เดฎเตปเดธเต เด“เดตเตผเดนเต†เดกเต เด‡เดฒเตเดฒเดพเดคเต† เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตฝ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเต
  • เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพเด•เตเด•เตเดณเตเดณเดฟเตฝ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด•เดค เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•, เดœเดจเดฑเดฟเด•เต เด‡เดจเตเดฑเตผเดซเต‡เดธเตเด•เตพ เดธเด‚เดฏเต‹เดœเดจเดตเตเด‚ เดธเดฎเดพเดฐเด‚เดญเดตเตเด‚ เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต

เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป

เด‰เดฃเตเดŸเต เดธเต†เดฑเตเดฑเต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เด“เดชเตเดทเดจเตเด•เตพ, เดธเต†เดจเตเดฑเต‹เดธเต 7 เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดžเดพเตป เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเด‚.
เดชเตเดฐเดงเดพเดจเดชเตเดชเต†เดŸเตเดŸ: Kata เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดตเตผเด•เตเด•เต เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เต‚, เดตเดฟเตผเดšเตเดšเตเดตเดฒเตˆเดธเต‡เดทเตป เดซเต‹เตผเดตเต‡เดกเดฟเด‚เด—เต เดŽเดฒเตเดฒเดพเดฏเตโ€Œเดชเตเดชเต‹เดดเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฟเดฒเตเดฒ sse4.1 เดชเดฟเดจเตเดคเตเดฃ เด†เดตเดถเตเดฏเดฎเดพเดฃเต เดชเตเดฐเต‹เดธเดธเตเดธเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต.

Kata เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดตเดณเดฐเต† เดฒเดณเดฟเดคเดฎเดพเดฃเต:

เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•:

# yum -y install yum-utils

Selinux เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เตเด• (เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เด•เต‚เดŸเตเดคเตฝ เดถเดฐเดฟเดฏเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดฒเดพเดณเดฟเดคเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ เดžเดพเตป เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต):

# setenforce 0
# sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

เดžเด™เตเด™เตพ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เดจเดŸเดคเตเดคเตเดจเตเดจเต

# source /etc/os-release
# ARCH=$(arch)
# BRANCH="${BRANCH:-stable-1.10}"
# yum-config-manager --add-repo "http://download.opensuse.org/repositories/home:/katacontainers:/releases:/${ARCH}:/${BRANCH}/CentOS_${VERSION_ID}/home:katacontainers:releases:${ARCH}:${BRANCH}.repo"
# yum -y install kata-runtime kata-proxy kata-shim

เด•เดฎเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเต

เดกเต‹เด•เตเด•เดฑเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดžเดพเตป เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด‚, เด…เดคเดฟเดจเตเดฑเต† เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฃเต, เดžเดพเตป เด…เดคเต เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ:

# rpm -qa | grep docker
docker-ce-cli-19.03.6-3.el7.x86_64
docker-ce-19.03.6-3.el7.x86_64
# docker -v
Docker version 19.03.6, build 369ce74a3c

เดžเด™เตเด™เตพ daemon.json-เตฝ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเตเดจเตเดจเต:

# cat <<EOF > /etc/docker/daemon.json
{
  "default-runtime": "kata-runtime",
  "runtimes": {
    "kata-runtime": {
      "path": "/usr/bin/kata-runtime"
    }
  }
}
EOF

เดกเต‹เด•เตเด•เตผ เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•:

# service docker restart

เดชเตเดฐเดตเตผเดคเตเดคเดจ เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต

เดกเต‹เด•เตเด•เตผ เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดจเดฟเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดชเตเดฐเดงเดพเดจ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด•เต‡เตผเดฃเดฒเดฟเดจเตเดฑเต† เดชเดคเดฟเดชเตเดชเต uname เดจเตฝเด•เตเดฎเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚:

# docker run busybox uname -a
Linux 19efd7188d06 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 GNU/Linux

เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเดšเตเดš เดถเต‡เดทเด‚, เด•เต‡เตผเดฃเตฝ เดชเดคเดฟเดชเตเดชเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:

# docker run busybox uname -a
Linux 9dd1f30fe9d4 4.19.86-5.container #1 SMP Sat Feb 22 01:53:14 UTC 2020 x86_64 GNU/Linux

เด•เต‚เดŸเตเดคเตฝ เดŸเต€เดฎเตเด•เตพ!

# time docker run busybox mount
kataShared on / type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,size=65536k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666)
sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,relatime,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (ro,nosuid,nodev,noexec,relatime,xattr,name=systemd)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (ro,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (ro,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (ro,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (ro,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (ro,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (ro,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/freezer type cgroup (ro,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/pids type cgroup (ro,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/cpuset type cgroup (ro,nosuid,nodev,noexec,relatime,cpuset)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k)
kataShared on /etc/resolv.conf type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
kataShared on /etc/hostname type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
kataShared on /etc/hosts type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
proc on /proc/bus type proc (ro,relatime)
proc on /proc/fs type proc (ro,relatime)
proc on /proc/irq type proc (ro,relatime)
proc on /proc/sys type proc (ro,relatime)
tmpfs on /proc/acpi type tmpfs (ro,relatime)
tmpfs on /proc/timer_list type tmpfs (rw,nosuid,size=65536k,mode=755)
tmpfs on /sys/firmware type tmpfs (ro,relatime)

real    0m2.381s
user    0m0.066s
sys 0m0.039s

# time docker run busybox free -m
              total        used        free      shared  buff/cache   available
Mem:           1993          30        1962           0           1        1946
Swap:             0           0           0

real    0m3.297s
user    0m0.086s
sys 0m0.050s

เดตเต‡เด—เดคเตเดคเดฟเดฒเตเดณเตเดณ เดฒเต‹เดกเต เดชเดฐเดฟเดถเต‹เดงเดจ

เดตเดฟเตผเดšเตเดšเตเดตเดฒเตˆเดธเต‡เดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดจเดทเตเดŸเด‚ เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต - เดชเตเดฐเดงเดพเดจ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเดพเดฏเดฟ เดžเดพเตป sysbench เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต เดˆ เด“เดชเตเดทเตป เดŽเดŸเตเด•เตเด•เตเด•.

Docker+containerd เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต sysbench เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

เดชเตเดฐเต‹เดธเดธเตผ เดŸเต†เดธเตเดฑเตเดฑเต

sysbench 1.0:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

General statistics:
    total time:                          36.7335s
    total number of events:              10000
    total time taken by event execution: 36.7173s
    response time:
         min:                                  3.43ms
         avg:                                  3.67ms
         max:                                  8.34ms
         approx.  95 percentile:               3.79ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   36.7173/0.00

เดฑเดพเด‚ เดŸเต†เดธเตเดฑเตเดฑเต

sysbench 1.0:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Initializing worker threads...

Threads started!

Operations performed: 104857600 (2172673.64 ops/sec)

102400.00 MiB transferred (2121.75 MiB/sec)

General statistics:
    total time:                          48.2620s
    total number of events:              104857600
    total time taken by event execution: 17.4161s
    response time:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.17ms
         approx.  95 percentile:               0.00ms

Threads fairness:
    events (avg/stddev):           104857600.0000/0.00
    execution time (avg/stddev):   17.4161/0.00

เดกเต‹เด•เตเด•เตผ+เด•เดพเดฑเตเดฑ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเดฟเดธเตโ€Œเดฌเต†เดžเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

เดชเตเดฐเต‹เดธเดธเตผ เดŸเต†เดธเตเดฑเตเดฑเต

sysbench 1.0:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

General statistics:
    total time:                          36.5747s
    total number of events:              10000
    total time taken by event execution: 36.5594s
    response time:
         min:                                  3.43ms
         avg:                                  3.66ms
         max:                                  4.93ms
         approx.  95 percentile:               3.77ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   36.5594/0.00

เดฑเดพเด‚ เดŸเต†เดธเตเดฑเตเดฑเต

sysbench 1.0:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Initializing worker threads...

Threads started!

Operations performed: 104857600 (2450366.94 ops/sec)

102400.00 MiB transferred (2392.94 MiB/sec)

General statistics:
    total time:                          42.7926s
    total number of events:              104857600
    total time taken by event execution: 16.1512s
    response time:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.43ms
         approx.  95 percentile:               0.00ms

Threads fairness:
    events (avg/stddev):           104857600.0000/0.00
    execution time (avg/stddev):   16.1512/0.00

เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เดธเดพเดนเดšเดฐเตเดฏเด‚ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เดจเดฟเดฐเดตเดงเดฟ เดคเดตเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด”เดŸเตเดŸเตโ€Œเดฒเดฑเตเด•เตพ เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเตเด‚ เดซเดฒเด™เตเด™เตพ เดถเดฐเดพเดถเดฐเดฟเดฏเดพเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด•เต‚เดŸเตเดคเตฝ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เดžเดพเตป เด‡เดคเตเดตเดฐเต† เด•เต‚เดŸเตเดคเตฝ เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเดฟเดฒเตเดฒ.

เด•เดฃเตเดŸเต†เดคเตเดคเดฒเตเด•เตพ

เด…เดคเตเดคเดฐเด‚ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดเด•เดฆเต‡เดถเด‚ เด…เดžเตเดšเต‹ เดชเดคเตเดคเดฟเดฐเดŸเตเดŸเดฟเดฏเต‹ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚ (เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเดฎเดพเดจเดฎเดพเดฏ เด•เดฎเดพเตปเดกเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเดพเดงเดพเดฐเดฃ เดธเดฎเดฏเด‚ เดธเต†เด•เตเด•เตปเดกเดฟเดจเตเดฑเต† เดฎเต‚เดจเตเดจเดฟเดฒเตŠเดจเตเดจเดฟเตฝ เดคเดพเดดเต†เดฏเดพเดฃเต), เดžเด™เตเด™เตพ เดธเดฎเตเดชเต‚เตผเดฃเตเดฃ เด†เดฐเด‚เดญ เดธเดฎเดฏเด‚ เดŽเดŸเตเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เด…เดต เดตเดณเดฐเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต ( เดฎเตเด•เดณเดฟเตฝ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเตเดฃเตเดŸเต, เด•เดฎเดพเตปเดกเตเด•เตพ เดถเดฐเดพเดถเดฐเดฟ เดฎเต‚เดจเตเดจเต เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต). เดถเดฐเดฟ, CPU, RAM เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เด’เดฐเต เดฆเตเดฐเตเดค เดชเดฐเดฟเดถเต‹เดงเดจเดฏเตเดŸเต† เดซเดฒเด™เตเด™เตพ เดเดคเดพเดฃเตเดŸเต เดธเดฎเดพเดจ เดซเดฒเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดธเดจเตเดคเต‹เดทเดฟเด•เตเด•เดพเดคเต† เดตเดฏเตเดฏ, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต kvm เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด’เดฐเต เดจเดฒเตเดฒ เดธเด‚เดตเดฟเดงเดพเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตฝ เดจเตฝเด•เตเดจเตเดจเดคเต เดŽเดจเตเดจ เดตเดธเตเดคเตเดคเดฏเตเดŸเต† เดตเต†เดณเดฟเดšเตเดšเดคเตเดคเดฟเตฝ.

เดชเตเดฐเด–เตเดฏเดพเดชเดจเด‚

เดฒเต‡เด–เดจเด‚ เด’เดฐเต เด…เดตเดฒเต‹เด•เดจเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดฌเดฆเตฝ เดฑเตบเดŸเตˆเด‚ เด…เดจเตเดญเดตเดฟเด•เตเด•เดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดตเดธเดฐเด‚ เดจเตฝเด•เตเดจเตเดจเต. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดชเดฒ เดฎเต‡เด–เดฒเด•เดณเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เดพเดฑเตเดฑเดพ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพเด•เตเด•เต เดฎเตเด•เดณเดฟเตฝ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเตเดธเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดธเตˆเดฑเตเดฑเต เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด•เต‚เดŸเดพเดคเต†, เดธเตเดฐเด•เตเดทเดพ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด™เตเด™เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดฎเดฑเตเดฑเต เดฐเดธเด•เดฐเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเดšเตเดšเตเดณเตเดณ เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดชเดฐเดฎเตเดชเดฐ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เดˆ เดตเดฟเดทเดฏเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดญเดพเดตเดฟ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃเด™เตเด™เดณเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจ เดธเตผเดตเต‡เดฏเดฟเตฝ เดชเด™เตเด•เต†เดŸเตเด•เตเด•เดพเตป เดžเดพเตป เด‡เดตเดฟเดŸเต† เดตเดพเดฏเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฑเดฟเดตเตˆเตปเดกเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดŽเดฒเตเดฒเดพเดตเดฐเต‹เดŸเตเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เตเดจเตเดจเต.

เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เดธเตผเดตเต‡เดฏเดฟเตฝ เดชเด™เตเด•เต†เดŸเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚. เดธเตˆเตป เด‡เตปเดฆเดฏเดตเดพเดฏเดฟ.

เด•เดพเดฑเตเดฑ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฒเต‡เด–เดจเด™เตเด™เตพ เดžเดพเตป เดคเตเดŸเตผเดจเตเดจเตเด‚ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เดฃเต‹?

  • 80,0%เด…เดคเต†, เด•เต‚เดŸเตเดคเตฝ เดŽเดดเตเดคเตเด•!28

  • 20,0%เด‡เดฒเตเดฒ, เดšเต†เดฏเตเดฏเดฐเตเดคเต...7

35 เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเต‹เดŸเตเดŸเต เดšเต†เดฏเตเดคเต. 7 เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเดฟเดŸเตเดŸเตเดจเดฟเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•