TimeBase Load Simulator
Introduction
TimeBase Load Simulator is a console utility that can be configured to simulate various types of load on TimeBase. The tool connects to an existing instance of TimeBase, launches a load simulation on a defined time period, and then stops.
You can use this tool to test TimeBase performance under various load scenarios. You can then get system metrics and monitor them in Grafana.
info
Refer to Monitoring to learn more about system metrics.
Available scenarios:
- Data connectors: create
n
loaders to load market data ton
streams at a fixed rate for a number of symbols. - Live cursors: create
n
cursors to read live data fromn
random streams. - Live cursors read all streams: create
n
cursors to read live data from all streams. - Historical cursors: create
n
cursors to read random data from a random stream. - Create extra streams: create
n
streams.
Launch
- Download and unpack the archive with application.
- In the bin folder, run
timebase-load-sim
script (works on Windows, Linux, and macOS). - Run
-help
to get a list of available configuration parameters. - Run commands to configure load simulation. Refer to Example.
Parameters
url
: URL of the TimeBase connection. Default:dxtick://localhost:8011
user
: TimeBase user.pass
: TimeBase user password.duration
: Duration of the load simulation in seconds.loaders
: Loaders count. Each loader creates a stream into which it writes data at a specified rate. Default:10
cursors
: Live cursors count. Each cursor subscribes to a random stream. Default:10
cursor-connections
: Number of TimeBase connections for live cursors. Example:-cursor 10 -cursor-connections 10
means that each cursor creates own TimeBase connection. Default: 1all-streams-cursors
: Live cursors count. Each cursor subscribes to all streams. Default:-cursors / 5
historical-cursors
: Historical cursors count. Each cursor subscribes to a random stream from a random timestamp. Default:0
historical-cursor-connections
: Number of TimeBase connection for historical cursors. Default:1
load-rate
: Loading rate in messages/second. Default:3000
book-levels
: Order book size loading data. Default:50
symbols
: Number of symbols a loader can write. Default:30
purge-interval
: Interval between purges in seconds. During purge, all streams will be purged from the current time minus 10 seconds. Default:0
- switched off.load-duration
: Loading duration in seconds. Default:duration
read-duration
: Live reading duration in seconds. Default:duration
extra-streams
: Number of extra streams that will be created prior the simulation start. Default:0
Examples
# get a list of parameters
-help
# command example
./timebase-load-sim -url dxtick://localhost:8011 -duration 7200 -loaders 20 -cursors 20 -cursor-connections 5 -load-rate 3000 -symbols 50 -purge-interval 3600
./timebase-load-sim -url dxtick://localhost:8011 -duration 7200 -historical-cursors 20 -loaders 0 -cursors 0 -cursor-connections 0 -load-rate 0 -symbols 0 -purge-interval 0