简介
Shaker项目是Mirantis发起,OpenStack社区上用于性能测试的项目。通过模拟不同的网络场景,通过heat的模板,创建虚拟机,并且在虚拟机里运行iperf,iperf3, netperf等工具来对网络进行自动化性能测试,并且把测试的结果用网页形式输出。
架构
Shaker使用Heat启动各种场景下的虚机,启动成对的虚机(master/slave);
虚机中的“shaker-agent”通过SOCKET连接加入到shaker;
Shaker告知agent需要测试的项目以及相关节点信息(如IP);
虚机使用“iperf、netperf”工具进行发包测试;
虚机测试完毕向shaker上报测试结果数据。
Shaker和agent之间的通讯示图:
测试场景
Shaker现支持计算节点内,计算节点间,跨AZ节点间,所有计算节点间两两配对部署测试,支持L2,L3_east_west,L3_north_south等网络场景测试。
场景yaml文件部署参数
Pair:实例按对分组,一个流量源,一个消费
Single room:每计算节点1个实例
Double room :每计算节点2个实例
Density:每计算节点N对实例
Compute_nodes:N 使用计算节点数目,默认所有节点
Zones:[Z1,Z2]交叉测试AZ 配置
Single room 部署示意图
Double_ room 部署示意图
测试拓扑
L2 测试拓扑
L3_east_west 测试拓扑
L3_north_south 测试拓扑
运行环境
Shaker驻留主机能与被测云控制节点、虚机浮动IP通讯即可接入测试。
需要名为shaker-image的镜像(shaker带镜像制作,可以把制作好的镜像保存下来用)
需要名为shaker-flavor的flavor(Memory:512M;Disk:4G ;Core:1 )
Shaker在内网安装携带接入测试不方便,可将其做成docker方便使用及自动化。
安装执行过程
$ pip install pyshaker
$ . openrc
$ shaker-image-builder
$ shaker --output output.json --verbose --server-endpoint 192.168.1.44:4000 --scenario openstack/full_l2
--output 测试结果输出文件
--server-endpoint 这个IP地址和端口,是运行Shaker命令的本机的IP地址和端口,
端口随意,不冲突即可,虚机中的“shaker-agent”会连接到这个
Socket上,跟Shaker通讯
- -scenario Shaker 项目提供多种场景的测试模板,例如 openstack/perf_l2等
生成HTML测试报告
shaker-report --input output.json --report a.html
参考:http://pyshaker.readthedocs.io/en/latest/
作者简介:张强,软件测试工程师,目前从事虚拟化相关测试工作。
1.《OpenStack Shaker 网络测试工具介绍》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《OpenStack Shaker 网络测试工具介绍》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/753.html