项目原因,需要使用checkpoint相关功能
团队一直比较熟悉 docker,于是开始对docker的checkpoint进行性能测试。
性能对比
docker环境
- 麒麟V10 SP3
- docker: 24
- criu:3.15
- 进程: java进程, 内存约5G
- HDD
- 命令
docker checkpoint create 容器ID checkpointName
整个checkpoint 耗时约3-4分钟左右,时间有点难以接受,再加上checkpoint/restore在docker中尚未GA,还属于实验特性。而podman的checkpoint/restore相关功能已经GA,加上podman的一些优势和对于docker命令的兼容性,于是决定转向podman。
在podman中相同的场景下测试,相关信息如下
podman环境
- 麒麟V10 SP3
- podman: 4.3.1
- criu:3.15
- 进程: java进程, 内存约5G
- HDD
- 命令
podman container checkpoint 容器ID -e 输出文件