automata

command module
v0.0.0-...-7583e5c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2018 License: MIT Imports: 6 Imported by: 0

README

automata

Go Report Card

A network performance testing and visualization tool based on netperf and RRUL(Real-Time Response Under Load)

Why

Inspired by Flent, it is nice to have a network performance testing and visualization tool with time series data. This tool is intended to solve below problems of flent:

  • Complexity of parameters and configurations
  • Many ports and protocols needs to be opened

This tool is easy to use and only requires netperf ports (12865,12866,12867/tcp, 12866/udp) to be opened so can be easily integrated with firewall environment or Micro Services Architecture

Output example

This is an example of RRUL testing result on localhost:

example

How

Below are quick start instructions

Requirements

netperf with demo feature enabled (–enable-demo=yes)

apt-get update && apt-get install net-perf
Build binary
make
On Server
netserver
On Client
./build/automata -host <Server_Address> -o result.png
Client usage
Usage of ./build/automata:
  -host string
    	netserver address e.g "192.168.100.100" (default "127.0.0.1")
  -l uint
    	time in seconds the test will last (default 60)
  -o string
    	output filename of plotting, print csv data if not provided
  -p uint
    	netserver base port, port+1 and port+2 are also used (default 12865)
Docker, Kubernetes and Istio

A netperf netserver image can be pulled from:

docker pull ksang/netserver

Example of using this image with kubernetes and istio:

netserver.yaml:

apiVersion: v1
kind: Service
metadata:
  name: netserver
  labels:
    app: netserver
spec:
  ports:
  - name: netservertcp12865
    protocol: TCP
    port: 12865
    targetPort: 12865
  - name: netservertcp12866
    protocol: TCP
    port: 12866
    targetPort: 12866
  - name: netservertcp12867
    protocol: TCP
      port: 12867
      targetPort: 12867
  - name: netserverudp12866
    protocol: UDP
    port: 12866
    targetPort: 12866
  selector:
    app: netserver
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: netserver-v1
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: netserver
        version: v1
    spec:
      containers:
      - name: netserver
        image: ksang/netserver
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 12865
          protocol: TCP
        - containerPort: 12866
          protocol: TCP
        - containerPort: 12867
          protocol: TCP
        - containerPort: 12866
          protocol: UDP

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package plot provides plot facilities to visualize RRUL data
Package plot provides plot facilities to visualize RRUL data
Package rrul implements RRUL(Real-Time Response Under Load) networking performance test based on netperf utilities
Package rrul implements RRUL(Real-Time Response Under Load) networking performance test based on netperf utilities

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL