This repository contains the tng-sdk-benchmark
component that is part of the European H2020 project 5GTANGO NFV SDK. This component is responsible to automatically execute performance benchmarks of NFV network services and functions.
The seed code of this component is based on the son-cli
toolbox, specifically the son-profile
tool, which was developed as part of the European H2020 project SONATA.
If you use this tool for your research, publications, or NFV projects, please consider to cite the following paper:
@inproceedings{peuster2017chainprofiling,
Author = {Peuster, Manuel and Karl, Holger},
Booktitle = {2017 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN)},
Month = {Nov},
Pages = {1-6},
Title = {Profile your chains, not functions: Automated network service profiling in DevOps environments},
Year = {2017}}
M. Peuster, S. Schneider, H. Karl: The Softwarised Network Data Zoo. In IEEE/IFIP 15th International Conference on Network and Service Management (CNSM), Halifax, Canada. (2019)
M. Peuster and H. Karl: Profile Your Chains, Not Functions: Automated Network Service Profiling in DevOps Environments. IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), Berlin, Germany. (2017)
M. Peuster, H. Karl: Understand Your Chains: Towards Performance Profile-based Network Service Management. Fifth European Workshop on Software Defined Networks (EWSDN). IEEE. (2016)
M. Peuster, H. Karl, and S. v. Rossem: MeDICINE: Rapid Prototyping of Production-Ready Network Services in Multi-PoP Environments. IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), Palo Alto, CA, USA, pp. 148-153. doi: 10.1109/NFV-SDN.2016.7919490. (2016)
Please follow this guide to install and setup tng-sdk-benchmark and a corresponding execution environment.
The OSM Client built into tng-bench requires the following packages, which can be installed as follows:
apt-get install libcurl4-gnutls-dev libgnutls28-dev
tng-bench --ped examples-osm/peds/ped_example_vnf.yml \
--ibbd /tmp/bds --generator osm \
--config .tng-bench.conf
Before you can run your first benchmarking experiment, you need to install tng-bench and an execution platform following this guide.
tng-bench -p examples/peds/ped_suricata_tp_small.yml
Runs the result processing module using existing results. This step is also automatically performed once at the end of an experiment execution.
# manually trigger result processing of generated results (to create *.csv files)
tng-bench-result -rd results/
To contribute to the development of this 5GTANGO component, you may use the very same development workflow as for any other 5GTANGO Github project. That is, you have to fork the repository and create pull requests.
$ python setup.py develop
All pull requests are automatically tested by Jenkins and will only be accepted if no test is broken.
You can also run the test manually on your local machine. To do so, you need to do:
$ pytest -v
This 5GTANGO component is published under Apache 2.0 license. Please see the LICENSE file for more details.
The following lead developers are responsible for this repository and have admin rights. They can, for example, merge pull requests.