kylinsoong / ttcp

Test TCP
Apache License 2.0
3 stars 3 forks source link

= TTCP

image:docs/img/ttcp-logo.png[]

TTCP(Test TCP) is an utility to measure TCP throughput through an IP path, test tcp connection, transfers fabricated buffers or data copied from stdin.

TTCP has long history, original created in 18 Dec 84 under 4.2BSD, since then the TTCP improved or modified by several professor/students/engineers/architects, what in this branch there has 3 key improvements:

To use TTCP, start the receiver on one side of the path, then start the transmitter on the other side. The transmitting side sends a specified number of TCP packets to the receiving side. At the end of the test, the two sides display the number of bytes transmitted and the time elapsed for the packets to pass from one end to the other.

[source, bash] .Install TTCP

rpm -ivh ttcp-1.14-2.x86_64.rpm

[source, bash] .Install TTCP(Docker)

docker pull cloudadc/ttcp:1.14-2

Either edit the options in /etc/ttcp.conf prior to TTCP starting, or pass options as arguments while TTCP starting

[source, bash] .Run TTCP

ttcp -t [-options] host [ < in ] ttcp -r [-options] [multicast-group][ > out]

[source, bash] .Run TTCP(Docker)

// recv side docker run -it --rm --name ttcp-r cloudadc/ttcp:1.14-2

// trans side docker run --rm --link ttcp-r cloudadc/ttcp:1.14-2-cli ttcp -t ttcp-r

Dockerhub link: https://hub.docker.com/r/cloudadc/ttcp.

Refer to link:docs/USERGUIDE.adoc[User Guide] for usage reference, and link:docs/DEVGUIDE.adoc[Developer Guide] for development reference.

== TTCP for K8S performance benchmark

=== Native Networking Performance

image:docs/img/k8s-native-net-performance.png[]

link:docs/k8s-native-net-performance.csv[origin test statistics.]

== How to Contribute

[source, bash] .1. link:https://guides.github.com/activities/forking/[Fork] and link:https://docs.github.com/en/enterprise/2.15/user/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent[clone] to your local disk

git clone git@github.com:/ttcp.git

2. Do some coding and submit a PR2. Do some coding and submit a PR