From bf378f2973e129527f2abde54094799303db0d07 Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Tue, 18 Aug 2015 15:33:14 +0100 Subject: Support of configurable background load and implementation of LTD.CPU.RFC2544.0PacketLoss and LTD.Memory.RFC2544.0PacketLoss Every testcase can be configured to run background load on the DUT. Load is generated by chosen command line tool, which must be installed according to the installation.md. Currently 'stress' and 'stress-ng' tools are supported, but support for new tool can be easily added. Load can be configured by testcase configuration option 'load'. Details about supported load generator options can be found in conf/01_testcases.conf. JIRA: VSPERF-23 JIRA: VSPERF-24 Change-Id: I3e1aebc0d41357f5a2764015c41ffc7e50fdbf8b Signed-off-by: Martin Klozik Reviewed-by: Billy O Mahony Reviewed-by: Maryam Tahhan Reviewed-by: Al Morton --- conf/01_testcases.conf | 66 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 3 deletions(-) (limited to 'conf') diff --git a/conf/01_testcases.conf b/conf/01_testcases.conf index 82252fb2..a95a4b54 100755 --- a/conf/01_testcases.conf +++ b/conf/01_testcases.conf @@ -25,7 +25,40 @@ # "Deployment": "p2p", # One of the supported deployment scenarios. # "Description": "Lorem ipsum..." # Optional. A human-readable string # # describing the test. -# "MultiStream": [true|false], +# "biDirectional": [true|false], # Specifies if genearted traffic will be +# # full-duplex (true) or half-duplex (false) +# "MultiStream": 0-65535 # Optional. Defines number of flows simulated +# # by traffic generator. Value 0 disables +# # MultiStream feature +# "Load": dictionary # Optional. Configures background load +# # during testcase execution. +# Descritopn of "Load" dictionary keys, their meanings and available values: +# +# "tool": "stress" # One of the supported load generators. +# "load": 0-100 # percentage of cores which should be +# # utilized by load generator +# # e.g. load = 70%, detected cpu cores = 14 => +# # round(14*0.7)=10, i.e. 10 instances of load +# # generator will be executed +# "reserved": 0- (Default 0) # Optional. Defines number of cores reserved +# # for vsperf +# # e.g. load = 80%, detected cpu cores = 14, +# # reserved = 4 => round((14-4)*0.8)=8, +# # i.e. 8 load gen. instances will be executed +# "pattern" : "c" # stress/stress-ng specific; Number of 'c', +# # 'm' and 'i' defines ratio between cpu, mem +# # and io workers respectively +# # e.g. "ccccmmi" => ratio among workers types +# # will be 3:2:1, so in case that 12 stress +# # instances should be executed, then 6 cpu, +# # 4 memory and 2 io workers will be executed +# "load_memory": 0-100 # Optional. Defines percentage of the system +# # memory, which should be utilized by memory +# # workers (if they are part of "pattern"). +# # if not specified then default stress(-ng) +# # value will be used +# "options": "" # Optional. Additional command line options +# # to be passed to the load generator. # "Test Modifier": [FrameMod|Other], # "Dependency": [Test_Case_Name |None], @@ -70,8 +103,6 @@ PERFORMANCE_TESTS = [ "Deployment": "p2p", "biDirectional": "True", "Description": "LTD.Scalability.RFC2544.0PacketLoss", - # MultiStream defines number of flows simulated by traffic generator - # allowed range: 0-65535; value 0 disables MultiStream feature "MultiStream": "8000", }, { @@ -90,4 +121,33 @@ PERFORMANCE_TESTS = [ "Description": "LTD.Throughput.RFC2544.BackToBackFrames", "biDirectional": "True", }, + { + "Name": "phy2phy_cpu_load", + "Traffic Type": "rfc2544", + "Collector": "cpu", + "Deployment": "p2p", + "biDirectional": "True", + "Description": "LTD.CPU.RFC2544.0PacketLoss", + "Load" : { + "tool" : "stress-ng", + "load" : 100, + "reserved" : 4, + "pattern" : "c", + } + }, + { + "Name": "phy2phy_mem_load", + "Traffic Type": "rfc2544", + "Collector": "cpu", + "Deployment": "p2p", + "biDirectional": "True", + "Description": "LTD.Memory.RFC2544.0PacketLoss", + "Load" : { + "tool" : "stress-ng", + "load" : 50, + "pattern" : "m", + "load_memory" : 80, + } + }, + ] -- cgit 1.2.3-korg