TTCP(Test TCP) contains a series of tools used for testing TCP/UDP based connectivity and performance.
/etc/ttcp.conf
to adjust TCP profile in a fine-grained way; 2. recv side multiple processes ability, which the server side support multi-threads, not exit once a transaction finished; 3. cloud-native support, both recv and trans can run on K8S and DockerGithub repo: https://github.com/kylinsoong/ttcp
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.
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.
Install and run on traditional environment:
rpm -ivh ttcp-1.13-2.x86_64.rpm
ttcp -t [-options] host [ < in ]
ttcp -r [-options] [multicast-group][ > out]
Install and run on K8S:
kubectl apply -f ttcp.yaml
TTCP for K8S performance benchmark results:
Primary purpose of bancs tool is to simplify BIG-IP MRF tesing, which with bancs tool, you can set up a BIG-IP MRF tesing environment in 5 – 10 minutes in your own laptop, with several VM instances and VE started.
The bancs tool is a simple tool for simulating Core Bank Systems, can run on common x86 systems, bancs tool has 4 modules:
As the figure depicted above, a more detailed introduction as below:
To install bancs tool, first you need download a latest version from
https://github.com/kylinsoong/ttcp/releases
for example, you have downloaded the ttcp-1.13-2.x86_64.rpm from above link, then you need prepare several x86 linux instances, on each instance install the rpm you just downloaded.
rpm -ivh ttcp-1.13-2.x86_64.rpm
After installation the commands hints can help to run, eg:
~]# bancs
Usage: bancs -e [-options] <host of BANCS>
bancs -b [-options] <host of CARD>
bancs -c [-options] <host of BANCS>
bancs -t [-options]
Common options:
-d enable debug logging
-l ## the length of lay time of Init wait Listener (default 8 seconds, which means once Listener init finished and 8 * 10 seconds later, the Init start)
-p ## port number to send to or listen at (default 8805/8806 9805)
Common options for -t:
-m ## specify the version of the ISO8583 standard, allowed value are 0-9
-n ## total number of message to generated
-k ## specify message kinds, different kinds means different length, 1 - 1562
Below figure is a simple demonstration of running bancs tool, you need prepare linux instances(like centos) to run BANCS and CARD, and has BIG-IP set up IN and FROM VS.
As above figure depicted, five steps is necessary to set up a environment that contains BIG-IP and bancs modules(BANCS, CARD, ESB), BIG-IP sit between BANCS and CARD, provide genric message routing.
Step 1: BIG-IP Configuration
Create the MRF generaric message related objects, like peer, route, router, etc; create traditional BIG-IP objects, like Virtual Server, Pool, Monitor.
Step 2: Start BANCS
Run bancs with -b option to start the BANCS
bancs -b <IP of TO CARD VS>
Step 3: Start CARD
bancs -c <IP of FROM CARD VS>
Step 4: Generate ISO 8583 Test Message
Run bancs with -t and -n option to genrate test messages
bancs -t -n <the number of messages> > /etc/bancs.data
Step 5: Start ESB to begain testing
Run bancs with -e option to start the ESB
bancs -e <IP of one of BANCS>