测试前准备
测试环境准备
- 安装好EasyStack云环境,并确保环境处于健康状态。
- 确保环境上无生产业务,性能测试会对平台业务产生较大影响。
- 连接北京实验室vpn。
- 使用ldap账号+动态密码登陆性能基线测试对接包平台,访问地址为对接包制作平台
- 如果要测试虚拟机的存储性能,需要先在平台上上传镜像,镜像名填写为
benchmark
,下载地址x86,arm,百度网盘。
性能基线测试对接包制作
- 登陆性能基线测试对接包制作平台。
- 根据测试需求输入测试参数。
- 提交性能基线测试对接包进行审核。
- 等审核通过后下载性能基线测试对接包
对接参数表:
配置项 | 描述 | 样例值 |
---|---|---|
CSE | 该环境的CSE编号,可通过JIRA获取。 | CSE-1000 |
云平台版本 | 选择云平台版本 | 6.1.1 |
CPU架构 | x86或者arm,根据不同架构打包不同镜像。 | x86 |
测试环境 | 当前支持三种:虚拟机(instance)、容器(runc)和安全容器(rune)。 | instance |
测试机数量 | 运行fio测试的客户端数据,单机测试选择1,集群测试按需选择。 | 1 |
测试机规格 | 虚拟机规格默认4U-8G。 | 4U-8G |
测试机连接网络 | 支持public-net和share-net,优先使用public-net,在public-net不满足条件的情况下使用share-net。 | public-net |
测试机数据卷类型 | ceph测试填hdd(虚拟机)或者capacity(容器),高性能填high-performance(虚拟机)或者csi-alcub(容器)。工具也支持外部第三方存储,选择合适的volume_type或者storage_class。 | hdd |
测试机卷大小 | 测试机数据卷大小,100GB。 | 100 |
是否开启预写 | 开启预写后会在测试前将目标卷使用顺序大IO全部写一遍。 | 是 |
预写后休眠时间 | 预定后休眠一段时间再开始基准测试,以获取更佳性能。 | 300 |
运行时间 | 单个FIO测试项的运行时间,默认60s。 | 60 |
暂停时间 | 每个FIO测试项间的暂时时间,默认30s。 | 30 |
测试模式 | 当前支持两种模式:经典(classic)和全量(full)。经典测试共包括4k-1depth随机IO读写(时延)、4k-128depth随机IO读写(iops)、1M-64-depth顺序IO(throughput)和8k-32depth 7:3混合读写共7项测试。全量测试包括4k/8k的iodepth从1~128随机IO、512k/1M-64/128depth顺序IO和4k/8k 7:3混合IO等共计40项测试。 | full |
自定义IO类型 | 指定FIO测试的IO类型,randwrite/randread/write/read/randrw共五种。 | randwrite |
自定义IO大小 | 指定FIO测试的IO大小。 | 4k |
自定义IO队列深度 | 指定FIO测试的IO队列深度。 | 128 |
自定义读写比例 | 指定FIO测试的IO读写比例。 | 70 |
镜像地址 | 下载glance镜像的url地址。 | N/A |
镜像名称 | 运行fio测试虚拟机的镜像名称,默认为benchmark。 | benchmark |
是否打包镜像 | 是否打测试工具镜像,初次使用时开启,增量测试可关闭,减小对接包大小。 | 否 |
是否打包运行环境 | 是否打包对接包工具运行环境,后续测试时可关闭,减小对接包大小。 | 否 |
Cache命中率统计 | 分析读性能时,可以开启cache命令率统计。 | 否 |
OSD Perf统计 | 分析写性能时,可以开启osd perf,统计每个阶段的IO耗时。 | 否 |
火焰图统计 | 分析CPU性能时,可以开启火焰图统计。 | 否 |
对接包超时时间 | 性能测试超时时间,可根据测试时间估算。 | 7200 |
测试步骤
- 通过web界面上传性能测试镜像,并命名为
benchmark
。 - 登陆EasyStack云平台,进入
自动化中心
—>高级配置
—>解决方案配置中心
。 - 上传性能基线测试对接包,点击
加载配置
开始测试。 - 等待对接包状态变成
已配置
,性能测试完成。
测试结果获取
性能基线测试完成后会自动生成PDF格式的测试报告,可以通过两种方式获取:日志获取和后台获取。
日志获取
- 登陆EasyStack云平台,进入
自动化中心
,点击导出日志
,选择所有控制节点。 - 下载日志并提交给研发同事。
后台获取
执行以后命令获取运行测试任务的节点。
kubectl -n openstack get po -a -l 'application=hulk,component=benchmark' -owide
登陆上面步骤获取的节点,进入
/var/log/others
目录。下载
bench*
开头的文件并提交给研发同事。