This project is the source code of TS-Benchmark.
The general steps to complete the test are:
-
Data generation
cd data_generation -
Train DCGAN model
python DCGAN.pyRun theencoder_dc.pyfile to train the encoder,python encoder_dc.pyFinally execute the testpython test_dc.py -
Data Import Since each database have different build-in tools for data import, we have defined some tools related to data import in the
tsdb-test/data/loaddirectory -
build project
cd Tsdb-benchmark/ts-benchmark/sh build.sh -
config parametes of database and run the benchmark
cd Tsdb-benchmark/ts-benchmark/vim run.sh(choose database and test mode)sh run.sh
The configuration of TSDBs is shown as follows:
-
InfluxDB. We enlarge the default values of some important parameters of the TSM engine for better performance of the system. For example, the parameter wal-fsync- delay is set as "0s", the parameter
cache-max-memory-sizeis set to 1,048,576,000 bytes, and the parameter cache-snapshot-memory-size is enlarged to “100M” and so on. Maximum memory size is sufficient. The parametermax-values-per-tagis set as 0 to allow an unlimited number of tag values. -
TimescaleDB. The parameter
shared-buffersis set as 8GB,maintenance-work-memis set as 2GB,checkpoint-completion-targetis set as 0.7,min_walsize is set as 1GB, and max wal size is 2GB. Parameters of PostgreSQL is set based on PgTune. -
Druid. The parameter
Roll-upis set as true, andGranu-larityis set as hour. For local batch import, the parameter maxRowsPerSegment is set as 10M, maxRowsInMemory is set as 20M, and maxTotalRows is set as 100M. -
OpenTSDB. The parameter
tsd-http-request-enable-chunkedis enabled,tsd-http-request-max-chunkis set as 32KB,tsd-core-auto-create-metricsis set as true, and the parametertsd-storage-enable-compactionis set to be false to improve the write performance.
More information please ref to for detail