TS-Benchmark作为时序数据库性能测试的基本工具,以风力发电设备监控为应用场景,广泛用于各类时序数据库的性能测试。本项目以青岛大学本科生为主体,在TS-Benchmark的基础上开展二次开发,目标是通过接口优化、数据生成机制改进以及可视化分析等功能扩展,提高时序数据库性能测试的效率、灵活性与适用性,为InfluxDB、TDengine等主流时序数据库的客观评估提供更高效便捷的测试支持。
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
TS-Benchmark: A Benchmark for Time Series Databases
Description
This project is the source code of TS-Benchmark. Related work has been published in ICDE 2021. bibTex:
Start
The general steps to complete the test are:
Data generation
cd data_generationTrain DCGAN model
python DCGAN.pyRun theencoder_dc.pyfile to train the encoder,python encoder_dc.pyFinally execute the testpython test_dc.pyData 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/loaddirectorybuild project
cd Tsdb-benchmark/ts-benchmark/sh build.shconfig parametes of database and run the benchmark
cd Tsdb-benchmark/ts-benchmark/vim run.sh(choose database and test mode)sh run.shParams description
The configuration of TSDBs is shown as follows:
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.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.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.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
If you have interests in the directed graph construction and the generation via random walk. you can ref to the
random_walk.ipynbQuick Open It!More information please ref to for detail