Made this due to iperf not being available for IBM i and the need to do some measurement of network throughput. Makes it possible to measure network throughput between two IBM i hosts (on same or different frames) or to/from Linux, AIX, Windows or any other platform that runs Java. To get best speed you need to use TCP and large packet sizes. The iperf tool defaults to 128K for TCP and 8K for UDP.
Go to file
Mark Nellemann 3deb336a46
continuous-integration/drone/push Build is passing Details
Merge branch 'time'
2023-07-18 15:24:45 +02:00
gradle/wrapper wip 2023-06-20 09:34:33 +02:00
src Add some tests of conversion and client-server comm. 2023-07-18 15:21:52 +02:00
.drone.yml Build improvements. 2023-06-24 09:04:58 +02:00
.gitattributes wip 2023-06-20 09:34:33 +02:00
.gitignore more wip 2023-06-20 15:58:00 +02:00
LICENSE more wip 2023-06-22 08:40:31 +02:00
README.md New option to specify how long test should run. 2023-07-14 11:15:39 +02:00
build.gradle Rename package and app. 2023-06-29 20:47:58 +02:00
gradle.properties New option to specify how long test should run. 2023-07-14 11:15:39 +02:00
gradlew wip 2023-06-20 09:34:33 +02:00
gradlew.bat wip 2023-06-20 09:34:33 +02:00
settings.gradle Rename package and app. 2023-06-29 20:47:58 +02:00

README.md

jnetperf

Small utility to measure (single threaded) network performance between two hosts.

Requirements

You need Java (JRE) version 8 or later to run jnetperf.

Usage Instructions

  • Install the jnetperf package (.deb, .rpm or .jar) from Packages or compile from source.
  • Run /opt/jnetperf/bin/jperf, if installed from package, or as java -jar /path/to/jnetperf.jar
Usage: jnetperf [-huV] [-l=NUM] [-n=NUM] [-p=NUM] [-t=SEC] (-c=SRV | -s)
For more information visit https://git.data.coop/nellemann/jnetperf
  -c, --connect=SRV   Connect to remote server (client).
  -h, --help          Show this help message and exit.
  -l, --pkt-len=NUM   Packet size in bytes (client) [default: 1432].
  -n, --pkt-num=NUM   Number of packets to send (client) [default: 150000].
  -p, --port=NUM      Network port [default: 4445].
  -s, --server        Run server and wait for client (server).
  -t, --runtime=SEC   Time to run, supersedes pkt-num (client) [default: 0].
  -u, --udp           Use UDP network protocol [default: false].
  -V, --version       Print version information and exit.

Examples

On host A run jnetperf as a server waiting for a connection from a client:

java -jar jnetperf-x.y.z-all.jar -s

On host B run jnetperf as a client connecting to the server and sending data:

java -jar jnetperf-x.y.z-all.jar -c server-ip

Development Information

You need Java (JDK) version 8 or later to build jnetperf.

Build & Test

Use the gradle build tool, which will download all required dependencies:

./gradlew clean build