如何进行性能基准测试¶
Incus 服务器或集群的性能取决于许多不同的因素,从硬件、服务器配置、选择的存储驱动程序和网络带宽到整体使用模式。
为了找到最佳配置,你应该运行基准测试以评估不同的设置。
Incus 提供了一个基准测试工具来实现这一目的。此工具允许你初始化或启动多个容器,并测量系统创建这些容器所需的时间。如果你反复运行此工具,并使用不同的配置,则可以比较性能并评估哪种配置是理想的配置。
获取工具¶
如果你的安装中没有提供 incus-benchmark
工具,你可以从源代码构建它。确保你已安装 go
(参见 Go),并使用以下命令安装工具
go install github.com/lxc/incus/cmd/incus-benchmark@latest
运行工具¶
运行 incus-benchmark [action]
以测量 Incus 设置的性能。
基准测试工具使用当前的 Incus 配置。如果你想使用不同的项目,请使用 --project
指定它。
对于所有操作,你可以指定要使用的并行线程数(默认情况下使用动态批处理大小)。你还可以选择将结果追加到 CSV 报告文件,并以某种方式标记它们。
查看 incus-benchmark help
以获取所有可用的操作和标志。
选择一个镜像¶
在运行基准测试之前,请选择要使用的镜像类型。
- 本地镜像
如果你想测量创建容器所需的时间,并忽略下载镜像所需的时间,则应该在运行基准测试工具之前将镜像复制到本地镜像存储库中。
为此,请运行类似于以下命令的命令,并在运行
incus-benchmark
时指定镜像的指纹(例如,2d21da400963
)incus image copy images:ubuntu/22.04 local:
你还可以为镜像分配一个别名,并在运行
incus-benchmark
时指定该别名(例如,ubuntu
)incus image copy images:ubuntu/22.04 local: --alias ubuntu
- 远程镜像
如果你想将下载时间包含在整体结果中,请指定一个远程镜像(例如,
images:ubuntu/22.04
)。incus-benchmark
使用的默认镜像是最新版本的 Ubuntu 镜像 (images:ubuntu
),因此如果你想使用此镜像,则可以在运行工具时省略镜像名称。
创建和启动容器¶
运行以下命令以创建多个容器
incus-benchmark init --count <number> <image>
向命令中添加 --privileged
以创建特权容器。
例如
命令 |
描述 |
---|---|
|
创建十个特权容器,这些容器使用最新的 Ubuntu 镜像。 |
|
创建 20 个容器,这些容器使用 Alpine Edge 镜像,并使用四个并行线程。 |
|
创建使用指纹为 |
|
创建十个使用别名为 |
如果你使用的是 init
操作,则会创建基准测试容器,但不会启动它们。要启动你创建的容器,请运行以下命令
incus-benchmark start
或者,使用 launch
操作创建和启动容器
incus-benchmark launch --count 10 <image>
对于此操作,你可以添加 --freeze
标志以在每个容器启动后立即冻结它。冻结容器会暂停其进程,因此此标志允许你测量纯启动时间,而不会受到容器启动后运行的进程的干扰。
删除容器¶
要删除你创建的基准测试容器,请运行以下命令
incus-benchmark delete
注意
你必须删除所有现有的基准测试容器,才能运行新的基准测试。