在UI界面下将脚本的事情就做完了!  -- ValkyrieManager Scheduler

在网络测试打流过程中,我们经常会遇到要对比在不同报文长度下,端口的转发性能是否有影响,改变报文长度,对转发系统的延迟处理会带来多大的影响,需要实施动态的流量压力测试,并根据实际的场景,可能需要规划模拟某些流量进行定时定次的发送等场景,传统的解决方法是直接拿API进行脚本调取进行二次开发,学习起来比较费事,ValkyrieManager的Scheduler功能可以很好的解决以上痛点。

Xena Scheduler可以在打流过程中进行动态的参数调整,实现动态流量模型,如变更发包的报文长度Packet length,发包的带宽Rate/PPS,动态的启停某些流量等

适用硬件型号及软件版本

以下分享,适用于以下机箱及测试板卡

  • ValkyrieBay,ValkyrieCompact
  • Odin-1G-3S-6P,Odin-1G-3S-6P-T1-RJ45,Odin-1G-3S-6P-E-TSN
  • Odin-10G-5S-6P-CU,Odin-10G-1S-6P,Odin-10G-4S-6P
  • Loki-100G-5S-2P,Loki-100G-5S-4P
  • Thor-400G-7S-1P,Thor-400G-4S-2P,Thor-400G-4S-4P
  • Freya-800G-4S-1P-QDD,Freya-800G-4S-1P-OSFP,Freya-800G-4S-E

软件版本,ValkyrieManager版本Release40及后续版本


Scheduler界面设定

默认该页面在最下面折叠了,方便查看,可以将它先右上角固定住,再拖动到与其他常用界面齐平

Scheduler支持设定的动作

  • Set parameter value改变流数据参数(指定来了的PPS/Rate%数据)
  • Wait period插入等待时间
  • Start traffic开启端口发包
  • Stop traffic停止端口发包
  • Clear Statistics统计数据清零
  • Enable Stream使能流量
  • Disable Stream禁用流量
  • Suspend暂停流量
  • Custom Port/ Stream Command自定义命令行数据(端口级别/流级别)

范例1,动态调整发包带宽-改变Rate/PPS

测试过程中调整带宽,用于观察带宽增加或降低速率时,接受端口的Rx数据,Rx Latency等数据变化

模型设计如下

实施效果

 底层逻辑实现

(不重要)

{"Operations": [{"OperType": "StopTraffic","ParamType": 0,"OperValue": null,"PortTargetList": [{"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [],"AllTargetsSelected": false,"FullInfo": "Stop Traffic","Operations": [],"ItemId": "b165a6b3-4749-4fb5-bd83-0392d4a4b4e1","ParentId": ""},{"OperType": "SetParamValue","ParamType": "PS_RATEFRACTION","OperValue": 10.0,"PortTargetList": [],"StreamTargetList": [],"AllTargetsSelected": true,"FullInfo": "Set Parameter Value","Operations": [],"ItemId": "105e9b4f-5b67-48e8-a252-a3a6e3f241fe","ParentId": ""},{"OperType": "StartTraffic","ParamType": 0,"OperValue": null,"PortTargetList": [{"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [],"AllTargetsSelected": false,"FullInfo": "Start Traffic","Operations": [],"ItemId": "b641191c-5095-472a-9c72-026c4006c3f3","ParentId": ""},{"OperType": "Wait","ParamType": 0,"OperValue": 10.0,"PortTargetList": [],"StreamTargetList": [],"AllTargetsSelected": true,"FullInfo": "Wait Period","Operations": [],"ItemId": "eff4459b-71c6-47b1-9b8e-76908d20c175","ParentId": ""},{"OperType": "StopTraffic","ParamType": 0,"OperValue": null,"PortTargetList": [{"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [],"AllTargetsSelected": false,"FullInfo": "Stop Traffic","Operations": [],"ItemId": "59afa5f4-eaf5-447d-873a-f07417a9831c","ParentId": ""},{"OperType": "SetParamValue","ParamType": "PS_RATEFRACTION","OperValue": 1.0,"PortTargetList": [{"StreamId": 0,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [{"StreamId": 0,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"AllTargetsSelected": false,"FullInfo": "Set Parameter Value","Operations": [],"ItemId": "61c840e3-287b-4c17-bb54-99d6e2b7efed","ParentId": ""},{"OperType": "SetParamValue","ParamType": "PS_RATEFRACTION","OperValue": 20.0,"PortTargetList": [{"StreamId": 3,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [{"StreamId": 3,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"AllTargetsSelected": false,"FullInfo": "Set Parameter Value","Operations": [],"ItemId": "036b3749-57b0-4830-a521-380cc88de4f7","ParentId": ""},{"OperType": "StartTraffic","ParamType": 0,"OperValue": null,"PortTargetList": [{"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [],"AllTargetsSelected": false,"FullInfo": "Start Traffic","Operations": [],"ItemId": "db72a383-79ad-40f9-b3eb-7e7c722d3928","ParentId": ""}],"ItemId": "c61dd725-211f-4098-b850-285faecb3c52","ParentId": "","FullInfo": "New Schedule 3"
}

范例2,动态调整发包带宽-Multi-Streams多流之间调度

Suspend暂停<-->Enable启用,状态之间切换

Stream有3种状态,Enable启用/Disable禁用/Suspend暂停

在端口发包的时候,Stream状态可以在Suspend/Enable之间切换

Suspend的Stream会占用该端口下的流设定带宽,但发包的时候不会发送

实施效果

底层实现代码展现

(不重要)

{"Operations": [{"OperType": "StopTraffic","ParamType": 0,"OperValue": null,"PortTargetList": [{"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [],"AllTargetsSelected": false,"FullInfo": "Stop Traffic","Operations": [],"ItemId": "58f4e426-79b5-4be3-8744-84554c04cc05","ParentId": ""},{"OperType": "SetParamValue","ParamType": "PS_RATEFRACTION","OperValue": 20.0,"PortTargetList": [{"StreamId": 0,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 3,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [{"StreamId": 0,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 3,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"AllTargetsSelected": false,"FullInfo": "Set Parameter Value","Operations": [],"ItemId": "fe083ec2-a572-457f-9228-b2757d08c288","ParentId": ""},{"OperType": "StartTraffic","ParamType": 0,"OperValue": null,"PortTargetList": [{"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [],"AllTargetsSelected": false,"FullInfo": "Start Traffic","Operations": [],"ItemId": "d99797fb-b7b8-4730-8192-d7a970063c7e","ParentId": ""},{"OperType": "Wait","ParamType": 0,"OperValue": 10.0,"PortTargetList": [],"StreamTargetList": [],"AllTargetsSelected": true,"FullInfo": "Wait Period","Operations": [],"ItemId": "be43e4b9-3c3a-49b7-9c1d-842fea62b6cf","ParentId": ""},{"OperType": "SuspendStream","ParamType": 0,"OperValue": null,"PortTargetList": [{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 3,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 3,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"AllTargetsSelected": false,"FullInfo": "Suspend Stream","Operations": [],"ItemId": "0d738010-2e51-4fe0-aeca-c34ad7df4f08","ParentId": ""},{"OperType": "Wait","ParamType": 0,"OperValue": 10.0,"PortTargetList": [],"StreamTargetList": [],"AllTargetsSelected": true,"FullInfo": "Wait Period","Operations": [],"ItemId": "1328f903-477d-4899-a901-d83af4eff5fc","ParentId": ""},{"OperType": "EnableStream","ParamType": 0,"OperValue": null,"PortTargetList": [{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"AllTargetsSelected": false,"FullInfo": "Enable Stream","Operations": [],"ItemId": "6d832bd5-5421-4ba9-8dfe-c819086492d3","ParentId": ""},{"OperType": "Wait","ParamType": 0,"OperValue": 10.0,"PortTargetList": [],"StreamTargetList": [],"AllTargetsSelected": true,"FullInfo": "Wait Period","Operations": [],"ItemId": "0543fd21-97a9-40b4-ab8d-6de2e8d6c651","ParentId": ""},{"OperType": "EnableStream","ParamType": 0,"OperValue": null,"PortTargetList": [{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"AllTargetsSelected": false,"FullInfo": "Enable Stream","Operations": [],"ItemId": "58aa8fb1-8827-4a9c-8dfa-b025e09002fe","ParentId": ""},{"OperType": "Wait","ParamType": 0,"OperValue": 10.0,"PortTargetList": [],"StreamTargetList": [],"AllTargetsSelected": true,"FullInfo": "Wait Period","Operations": [],"ItemId": "58ed510b-6122-4295-b759-7396916d5317","ParentId": ""},{"OperType": "EnableStream","ParamType": 0,"OperValue": null,"PortTargetList": [{"StreamId": 0,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 3,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [{"StreamId": 0,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 3,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"AllTargetsSelected": false,"FullInfo": "Enable Stream","Operations": [],"ItemId": "6d56fa25-eed3-4f4c-abbd-1cf2e2403dc3","ParentId": ""},{"OperType": "SuspendStream","ParamType": 0,"OperValue": null,"PortTargetList": [{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [{"StreamId": 1,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 2,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4},{"StreamId": 4,"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"AllTargetsSelected": false,"FullInfo": "Suspend Stream","Operations": [],"ItemId": "0f42335b-b714-4e5e-9b8b-cf08077e7222","ParentId": ""},{"OperType": "Wait","ParamType": 0,"OperValue": 10.0,"PortTargetList": [],"StreamTargetList": [],"AllTargetsSelected": true,"FullInfo": "Wait Period","Operations": [],"ItemId": "8a7d181a-4b54-44b6-b299-fab062a65cfa","ParentId": ""},{"OperType": "StopTraffic","ParamType": 0,"OperValue": null,"PortTargetList": [{"ChassisId": "d1af7b63-48a1-493a-a3fb-0a3313c41a89","ModuleIndex": 1,"PortIndex": 4}],"StreamTargetList": [],"AllTargetsSelected": false,"FullInfo": "Stop Traffic","Operations": [],"ItemId": "52ade31d-50b7-4f8b-a456-23d7dd3e73da","ParentId": ""}],"ItemId": "66c608ed-98ab-4160-bf60-b3de90f6dfae","ParentId": "","FullInfo": "New Schedule 1"
}

[Valkyrie网络测试仪-软件使用技巧] - Scheduler动作录制,定制打流过程(中途启停/调整带宽/使能部分流量)相关推荐

  1. python编程midi键盘按键_python 偷懒技巧——使用 keyboard 录制键盘事件

    之前在某本书上看到一个程序,可以通过 Python 记录下全局范围内的键盘事件,使用的是 ctypes 库. 后来几经尝试,始终不能成功运行.原来它只支持 Python2 和 32 位的 Window ...

  2. python keyboard方法_python 偷懒技巧——使用 keyboard 录制键盘事件

    之前在某本书上看到一个程序,可以通过 Python 记录下全局范围内的键盘事件,使用的是 ctypes 库. 后来几经尝试,始终不能成功运行.原来它只支持 Python2 和 32 位的 Window ...

  3. python keyboard方法_python 偷懒技巧――使用 keyboard 录制键盘事件

    之前在某本书上看到一个程序,可以通过 Python 记录下全局范围内的键盘事件,使用的是 ctypes 库. 后来几经尝试,始终不能成功运行.原来它只支持 Python2 和 32 位的 Window ...

  4. 优秀的加密方案-软件加密技巧

    概要 ◎设计优秀的加密方案 ◎简单而有效的加密技巧 ◎进一步提高加密强度 ◎通过"软硬兼施",降低加密成本 ◎通过软件授权,实现多种销售模式 我们需要防御什么 驱动程序替换 这种攻 ...

  5. 用钩子函数实现鼠标动作录制

    在日常的一些操作中,会遇到重复的鼠标动作,类似按键精灵的软件就会成为比较好的助手.这里借助网上查找的资料自己实现了一个简单的鼠标动作录制软件. 完成界面如图: 录制 录制鼠标动作首先需要截获.钩子函数 ...

  6. 【软件推荐】电脑屏幕录制软件Bandicam(班迪录屏)

    背景介绍 "人的记忆是不可靠的!" 很长一段时间以来,时不时的就会遇到一些需要电脑屏幕录制的事件,也尝试了一些软件和技巧,和大多数普通人一样,面临的主要问题是:录制质量不好,免费版 ...

  7. Sniff网络基础原理和软件实现技巧详解

    Sniff网络基础原理和软件实现技巧详解 前言 SNIFF真是一个古老的话题,关于在网络上采用SNIFF来获取敏感信息已经不是什么新鲜事,也不乏很多成功的案例,那么,SNIFF究竟是什么呢? SNIF ...

  8. 高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站)

    高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站) 一.总结 一句话总结:查看下面这些网站用户推荐的 知乎:比如 小众软件 site:zhihu.com 简书:查看你需要的用户推荐 ...

  9. Android直播软件搭建中实用的录制编辑方案有哪些

    Android直播软件搭建中实用的录制编辑方案有哪些 经大量数据显示,直播已经发展成为一种全民参与.共享和生产的文化现象.它的火爆不仅丰富了大众的艺术审美水平和精神文化,而且也影响了一代人的世界观.人 ...

最新文章

  1. 长沙理工大学计算机系教师,长沙理工大学数学与计算机科学学院导师介绍:王晚生...
  2. Framebuffer 画点,画线,画多边形,画圆
  3. 绘制半圆_超细致:Ai绘制萌蠢可爱卡通形象
  4. VMware10上新建虚拟机步骤图解
  5. 【maven】配置ali镜像
  6. 5. CSS 类选择器
  7. python编程实例
  8. 用gambit学博弈-完全信息静态博弈
  9. RS232转PROFINET网关链接扫码枪与西门子PLC1200的配置方法
  10. Java同步锁synchronized的最全总结
  11. 三年经验的程序员,为什么能力要强过80%的人
  12. postman更换皮肤
  13. jbx添加加mysql驱动
  14. 从B树谈到R树之B树的c实现
  15. 餐厅预订APP多少钱一套?餐厅预订APP如何收费?
  16. 华为HG8245C光猫破解开启原始管理页面
  17. 促进目标实现的激励技巧
  18. 红楼梦人物出场统计python_Python程序设计习题3——红楼梦人物出场次数统计
  19. 信号地和电源地的区别
  20. TreeView 入门

热门文章

  1. Effects特效包之“上帝之光”Sun Shafts 光线特效
  2. 【UGUI】制作艺术字体
  3. lammps问题-关于NVT与NVE系综产生的不同
  4. airbnb 爱彼迎开源 Epoxy 优化使用 RecyclerView
  5. 如何制定SEO团队业绩考核标准
  6. 计算机硬盘的容量的最小,这些游戏的大小竟然有100G以上,硬盘小的电脑就不要考虑了...
  7. 计算机管理里面管u盘,U盘给我格式化?
  8. 全国高德POI矢量数据集shp|免费获取|30个G
  9. 二维码使用之二维码扫描
  10. Excel删除空白行和列