写在前面

PKB 介绍可参考:https://testerhome.com/topics/32067PKB,本文旨在介绍如何使用

安装 py3

官方介绍需使用 python3 以上版本,已安装验证 python3.7 可成功执行
操作系统推荐 MacOS、linux,win 系统未做验证

拉取 PKB 代码

代码库地址:https://github.com/GoogleCloudPlatform/PerfKitBenchmarker

git clone https://github.com/GoogleCloudPlatform/PerfKitBenchmarker

安装依赖包

pip3 install -r requirements.txt

安装阿里云 CLI(若使用其他产商产品可自行替换)

ALIYUN-CLI 是阿里云命令行工具(Alibaba Cloud Command Line Interface),可以在命令行 shell 中,使用 aliyun 命令与阿里云服务进行交互,管理阿里云资源
1.安装 CLI

brew install aliyun-cli

2.配置 CLI,安装提示填写账号标识 Access Key Id、Access Key Secret、region、Output Format 信息即可

aliyun configure --profile akProfile

3.验证 CLI 安装成功

aliyun --help

执行单一基准测试

./pkb.py  --cloud=AliCloud  --machine_type=实例规格  --benchmarks=iperf  --image=镜像id  --ali_system_disk_type=系统盘类型  --zones=可用区id

常用参数介绍(注意 flag 是两个 - )
--helpmatch=PKB : 查看全局标志
--benchmarks: 要运行的基准测试或基准测试集列表,以逗号分隔,例如 --benchmarks=iperf,fio,要查看完整的列表,可运行 ./pkb.py --helpmatch=benchmarks | grep perkitbenchmarker
--cloud: 运行基准测试的云产商,AWS、Azure、AliCloud 等
--machine_type:实例规格
--zones:可用区
--data_disk_type:数据盘类型
--image:镜像 id(推荐使用 ubuntu)
--ali_system_disk_type:阿里云系统盘类型

FAQ

  1. ErrorCode: Zone.NotOnSale

    检查命令行参数中的实例规格和可用区是否对应正确

  2. ERROR Exception occurred while calling CreateAndBootVm

    检查生成的 PKB 密钥对是否正确
    验证方法:PKB 运行 log 中找到没有生成的路径,使用秘钥连接 ECS,如果连接失败就是使用的秘钥不正确,在 PKB 运行参数中指定 --ali_user_name=本地的用户名(admin、root、xxx 等)
    如果秘钥正确,手动可连接 ECS,但 PKB 中无法连接实例,可能是秘钥路径太长导致的,执行运行参数 ssh_control_path,路径为 秘钥路径公共部分,可多执行两次,截取秘钥的公共部分即可

持续踩坑,持续更新~~~


↙↙↙阅读原文可查看相关链接,并与作者交流