Skip to main content

A kubernetes network performance testing tool

Project description

Benchmark application

This is a benchmark application for kubernetes. It is used to test network performance of a kubernetes cluster.

k8perf logo

Demo of the application

k8perf demo video

Run the application

install this python package, a place where you have a kubernetes config file, and run the following command:

pip install k8perf
python -m k8perf run

You can get a json output from the command line by adding the --json flag.

Contributing

If you want to contribute, here is how to get your envirorment setup

Virtualenv

you can activate the virtualenv with the following command:

source bin/activate

if you're not using the script, remember to install the module with the following command:

    pip install --editable .

Releases

Github actions most of the work for you.

  • At every push to main a new version is released to pypi. These are released at "pre-release" status.
  • To make a new release, create a new tag with the following format: X.Y.Z. This will trigger a new release to pypi.

You just need to create a new release on github, and the action will take care of the rest.

Run iperf 3 benchmark on kubernetes without tool

There are two files in the folder benchmarks/bandwidth:

  • the server iperf3-server.yaml
  • the client iperf3-client.yaml

Results

  • The results of our experiments are located in the results folder.
  • Images and visualizations of data and analysis are located in the results/images folder.

TODO

  • add a way to specify the namespace
  • Run http benchmark until the server is up to 90% cpu usage
  • loading bar for the benchmark
  • Stream the output of the benchmark (Use streamlit)
  • Move plot to "[plot]" depedencies, and make local imports in main, with error message helping to install plots

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

k8perf-1.0.2.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

k8perf-1.0.2-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file k8perf-1.0.2.tar.gz.

File metadata

  • Download URL: k8perf-1.0.2.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for k8perf-1.0.2.tar.gz
Algorithm Hash digest
SHA256 249f4b0ade40fc84adfdc1ae46053d59e05787dbcaa92e4fdb3db70fadde2290
MD5 b04bab86f1b2fc9e0b094d4eb56cadd9
BLAKE2b-256 16e2d4856741198a410e823de01523d751a1ceacf25aac15c4e54b88e8701877

See more details on using hashes here.

File details

Details for the file k8perf-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: k8perf-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for k8perf-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0fcd31ace30ee8ff9c2944946bd1ae674085e477ced591a8ea2e4c6ffae8cb70
MD5 d743b0273e9845102c75ad477aae1188
BLAKE2b-256 4a342214f34f4e9f6e411146149c5e9856daa04f393f8d3e2c3ae325fa77bda2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page