32e1e6e1b6182cf67e94aa15a155a4bdcee7dbf4
[yardstick.git] / docs / yardstick / opnfv_yardstick_tc037.rst
1 *************************************
2 Yardstick Test Case Description TC037
3 *************************************
4 +-----------------------------------------------------------------------------+
5 |Network Performance                                                          |
6 +==============+==============================================================+
7 |test case id  | OPNFV_YARDSTICK_TC037_NW PERF                                |
8 +--------------+--------------------------------------------------------------+
9 |metric        | Number of flows, latency, throughput, CPU load, packet loss  |
10 +--------------+--------------------------------------------------------------+
11 |test purpose  | To evaluate the IaaS network performance with regards to     |
12 |              | flows and throughput, such as if and how different amounts   |
13 |              | of flows matter for the throughput between hosts on different|
14 |              | compute blades. Typically e.g. the performance of a vSwitch  |
15 |              | depends on the number of flows running through it. Also      |
16 |              | performance of other equipment or entities can depend        |
17 |              | on the number of flows or the packet sizes used.             |
18 |              | The purpose is also to be able to spot trends. Test results, |
19 |              | graphs ans similar shall be stored for comparison reasons and|
20 |              | product evolution understanding between different OPNFV      |
21 |              | versions and/or configurations.                              |
22 +--------------+--------------------------------------------------------------+
23 |configuration | file: opnfv_yardstick_tc037.yaml                             |
24 |              |                                                              |
25 |              | Packet size: 64 bytes                                        |
26 |              |                                                              |
27 |              | Number of ports: 1, 10, 50, 100, 300, 500, 750 and 1000.     |
28 |              | The amount configured ports map from 2 up to 1001000 flows,  |
29 |              | respectively. Each port amount is run two times, for 20      |
30 |              | seconds each. Then the next port_amount is run, and so on.   |
31 |              |                                                              |
32 |              | During the test CPU load on both client and server, and the  |
33 |              | network latency between the client and server are measured.  |
34 |              |                                                              |
35 |              | The client and server are distributed on different HW.       |
36 |              |                                                              |
37 |              | For SLA max_ppm is set to 1000.                              |
38 +--------------+--------------------------------------------------------------+
39 |test tool     | pktgen                                                       |
40 |              |                                                              |
41 |              | (Pktgen is not always part of a Linux distribution, hence it |
42 |              | needs to be installed. It is part of the Yardstick Glance    |
43 |              | image.                                                       |
44 |              | As an example see the /yardstick/tools/ directory for how    |
45 |              | to generate a Linux image with pktgen included.)             |
46 |              |                                                              |
47 |              | ping                                                         |
48 |              |                                                              |
49 |              | Ping is normally part of any Linux distribution, hence it    |
50 |              | doesn't need to be installed. It is also part of the         |
51 |              | Yardstick Glance image.                                      |
52 |              | (For example also a Cirros image can be downloaded from      |
53 |              | https://download.cirros-cloud.net, it includes ping)         |
54 |              |                                                              |
55 |              | mpstat                                                       |
56 |              |                                                              |
57 |              | (Mpstat is not always part of a Linux distribution, hence it |
58 |              | needs to be installed. It is part of the Yardstick Glance    |
59 |              | image.                                                       |
60 +--------------+--------------------------------------------------------------+
61 |references    | Ping and Mpstat man pages                                    |
62 |              |                                                              |
63 |              |https://www.kernel.org/doc/Documentation/networking/pktgen.txt|
64 |              |                                                              |
65 |              |ETSI-NFV-TST037                                               |
66 +--------------+--------------------------------------------------------------+
67 |applicability | Test can be configured with different packet sizes, amount   |
68 |              | of flows and test duration. Default values exist.            |
69 |              |                                                              |
70 |              |SLA (optional):                                               |
71 |              |    max_ppm: The number of packets per million packets sent   |
72 |              |             that are acceptable to lose, i.e. not received.  |
73 +--------------+--------------------------------------------------------------+
74 |pre-test      | The test case image needs to be installed into Glance        |
75 |conditions    | with pktgen included in it.                                  |
76 |              |                                                              |
77 |              | No POD specific requirements have been identified.           |
78 +--------------+------+----------------------------------+--------------------+
79 |test sequence | step | description                      | result             |
80 |              +------+----------------------------------+--------------------+
81 |              |  1   | The hosts are installed, as      | Logs are stored    |
82 |              |      | server and client. pktgen is     |                    |
83 |              |      | invoked and logs are produced    |                    |
84 |              |      | and stored.                      |                    |
85 +--------------+------+----------------------------------+--------------------+
86 |test verdict  | Fails only if SLA is not passed, or if there is a test case  |
87 |              | execution problem.                                           |
88 +--------------+--------------------------------------------------------------+