Tool Instructions
Time Series Benchmark Suite (TSBS) is an open-source tool suite specifically designed for performance benchmarking of time series databases. For more information, see tsbs. Installation Requirements
Go language: version 1.16 or later
Dependency management: Go Modules
Commands
Upload the compressed package of the testing tool Time Series Benchmark Suite (TSBS) to the client environment and decompress the package. Then, you will see the executable commands of the tool. |
tsbs_generate_data | Generate simulated time series data. |
./tsbs_generate_data \\ --use-case="cpu-only" \\ # Use the CPU monitoring data model. --seed=123 \\ # Fix the random seed to ensure reproducible results. --scale=10000 \\ # Simulate 10,000 devices. --timestamp-start="2016-01-01T00:00:00Z" \\ # Data start time. --timestamp-end="2016-02-01T00:00:00Z" \\ # Data end time (31 days). --log-interval="10s" \\ # Generate one data point every 10 seconds. --format="influx" \\ # Generate InfluxDB format data. | gzip > data/influx-data-cpu-10000-30day.gz # Compress and store the data.
|
tsbs_load_influx | Load (or write) the generated data into InfluxDB. |
cat data/influx-data-cpu-10000-30day.gz | gunzip | ./tsbs_load_influx \\ --urls=http: --db-name=test \\ # The target database name. --workers=10 \\ # Set the number of concurrent workers to 10. --user=ctsdbi-mjhi**** \\ # The username for authentication. --password=X****@****\\ # The password for authentication. --do-create-db=false # Assume that a database already exists and do not create a database.
|
tsbs_generate_queries | Generate query requests for simulated data. |
./tsbs_generate_queries --use-case="cpu-only" --seed=123 --scale=10000 \\ --timestamp-start="2025-01-01T00:00:00Z" \\ --timestamp-end="2025-01-01T12:00:01Z" \\ # Query data for a 12-hour period. --queries=100000 \\ # Generate 100,000 queries. --query-type="single-groupby-1-1-1" \\ # The query type. --format="influx" \\ | gzip > query/influx-100000queries-single-groupby-1-1-1-12h.gz
|
tsbs_run_queries_influx | Execute generated query requests on InfluxDB. |
cat query/influx-100000queries-single-groupby-1-1-1-12h.gz | gunzip | ./tsbs_run_queries_influx \\ --urls=http://XX.XX.XX.XX:8086 \\ # The CTSDB cluster access address. --workers=320 \\ # Set the number of concurrent workers to 320. --db-name=tsbs_test \\ # The database to query. --print-interval 10000 # Print the progress every 10,000 queries.
|