Skip to content
/ kperf Public

Run a suite of network performance tests between a given client/server pair.

Notifications You must be signed in to change notification settings

snormore/kperf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Run a suite of network performance tests between a given client/server pair using netperf, iperf3, ping, and wrk.

Running

Container-to-container local

Start the server:

script/run-server

In a different terminal, start the client that runs the tests:

script/run-client

Node-to-node

export SERVER_IP=<YOUR_SERVER_IP>
export CLIENT_IP=<YOUR_CLIENT_IP>
ssh root@${SERVER_IP} -- bash -c "apt-get update -qq && apt-get install -y docker.io"
ssh root@${SERVER_IP} -- docker pull snormore/kperf-server
ssh root@${SERVER_IP} -- docker run --rm -i \
    --name kperf-server \
    --net=host \
    -e "HTTP_PORT=8000" \
    -e "IPERF_PORT=7000" \
    -e "NETPERF_PORT=6000" \
    -p8000:8000 \
    -p7000:7000/tcp \
    -p7000:7000/udp \
    -p6000:6000/tcp \
    -p6000:6000/udp \
    snormore/kperf-server
ssh root@${CLIENT_IP} -- bash -c "apt-get update -qq && apt-get install -y docker.io"
ssh root@${CLIENT_IP} -- docker pull snormore/kperf-client
ssh root@${CLIENT_IP} -- docker run --rm -i \
    --name kperf-client \
    -e "SERVER_IP=${SERVER_IP}" \
    -e "HTTP_PORT=8000" \
    -e "IPERF_PORT=7000" \
    -e "NETPERF_PORT=6000" \
    -e "PRIVATE_TESTS=1" \
    snormore/kperf-client

Kubernetes pod-to-pod

Kubernetes pod-to-host