简介

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