docker 容器限制 CPU 性能
测试项目地址:https://github.com/ColinIanKing/stress-ng
启动命令:
docker run --rm -it --cpus 0.2 --name stress-test colinianking/stress-ng --cpu 1
1. docker run
docker run --rm -it --cpus 0.2 --name stress-test colinianking/stress-ng --cpu 1
成功限制容器 cup 资源在 20%
2. docker compose
- compose 文件参考
name: stress-test
services:
stress-ng:
stdin_open: true
tty: true
deploy:
resources:
limits:
cpus: 0.2
container_name: stress-test
image: colinianking/stress-ng
command: --cpu 1
2.1 普通启动
docker compose up -d
可以看出,容器 cup 资源被限制在了 20%
2.2 加入--compatibility
docker compose --compatibility up -d
发现容器的 cpu 资源也被限制在了 20%
2.3 compose 的另一种写法
name: stress-test
services:
stress-ng:
stdin_open: true
tty: true
cpus: 0.255
container_name: stress-test
image: colinianking/stress-ng
command: --cpu 1
使用 docker compose up -d
启动,发现容器 cpu 也被限制了
2. portainer
2.1 Containers
-
使用 portainer 创建一个容器,并限制资源
-
可以看出,容器 cpu 资源被限制在了 10%
2.2 Stacks
-
布置 stacks
-
可以看到,容器 cup 资源被限制在 20%
3. 多 cup 核心测试
3.1 单线程
docker run --rm -it --cpus 0.4 --name stress-test colinianking/stress-ng --cpu 1
- 单进程结果
3.2 双线程
docker run --rm -it --cpus 0.4 --name stress-test colinianking/stress-ng --cpu 2
- 双线程结果
评论区