This is a JBang! script that generates shapes of TCP traffic to be received by Logstash.
It's a not performance analisys tool, but just a loader.
It sends rows, delimited by \n each wide average of mean_size.
Run
./TrafficSimulator.java --help
to list all the options, but in general are:
--experimentdefines the type of experiment and can be choosen by:steps: generates 1 minute flow at max size, then 4 minutes at half, then 10 minutes half of the previous step. Then it terminates.continuous: generates flow uninterrupted, until CTRL+C is pressed.
-wait-distributionmodels the wait time between the sending of batch of messages (each batch contains 100 rows|messages) and the other, can be:flat: wait constant time (20 ms) between each batch sendexponential: uses and exponential wait time based on the mean flow (5000 messages/sec) that we want to keep. It's a form of Poisson distribution of the wait times.
mean-size: the mean size of a row, in terms of bytes|characters.
After have installed JBang on you host, you can run it, as an example:
./TrafficSimulator.java -p 3333 -e continuous -w exponential --mean-size 1024
Sends a continuous flow with exponential backoff where the mean size of each row is 1KB.
The continuous flow is organized to send
- 90% of the time row of mean-size +/- 5% of standard deviation.
- 1% creates a spike of 4 times the
mean-size. - 9% a 150%
mean-sizerow.