Skip to main content

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

Metadata

Release files for k8perf 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for k8perf 1.0.2
File Size Uploaded
k8perf-1.0.2.tar.gz 3.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for k8perf 1.0.2
File Interpreter ABI Platform
k8perf-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.1 MB

Release files / k8perf-1.0.2.tar.gz

Download URL k8perf-1.0.2.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
249f4b0ade40fc84adfdc1ae46053d59e05787dbcaa92e4fdb3db70fadde2290
BLAKE2b-256 checksum
How to use checksums
16e2d4856741198a410e823de01523d751a1ceacf25aac15c4e54b88e8701877
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release files / k8perf-1.0.2-py3-none-any.whl

Download URL k8perf-1.0.2-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0fcd31ace30ee8ff9c2944946bd1ae674085e477ced591a8ea2e4c6ffae8cb70
BLAKE2b-256 checksum
How to use checksums
4a342214f34f4e9f6e411146149c5e9856daa04f393f8d3e2c3ae325fa77bda2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page