https://github.com/crate/tsperf
TSPERF Time Series Database Benchmark Suite. Framework for evaluating and comparing the performance of time series databases, in the spirit of TimescaleDB's TSBS.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
TSPERF Time Series Database Benchmark Suite. Framework for evaluating and comparing the performance of time series databases, in the spirit of TimescaleDB's TSBS.
Basic Info
- Host: GitHub
- Owner: crate
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://tsperf.readthedocs.io/
- Size: 1.34 MB
Statistics
- Stars: 5
- Watchers: 7
- Forks: 0
- Open Issues: 9
- Releases: 2
Topics
Metadata Files
README.md
TSPERF Time Series Database Benchmark Suite
TSPERF is a tool for evaluating and comparing the performance of time series databases, in the spirit of TimescaleDB's Time Series Benchmark Suite (TSBS).
» Documentation | Changelog | PyPI | Issues | Source code | License
About
The tsperf program includes both a database workload generator, and a query
timer. That effectively spans two domains, one for writing data, and another
one for reading.
- Data Generator: Generate time series data and feed it into database.
Use
tsperf write --helpto explore its options. - Query Timer: Probe responsiveness of database on the read path.
Use
tsperf read --helpto explore its options.
For the purpose of capacity testing, both domains try to simulate the generation and querying of time-series data. As the program is easy to use, it provides instant reward without the need to set up a whole data ingestion chain.
Features
General
- Generate random data which follows a statistical model to better reflect real world scenarios, real world data is almost never truly random.
- The "steady load"-mode can simulate a constant load of a defined number of messages per second.
- Ready-made to deploy and scale data generators with Docker containers. In order to maximize performance, multiple instances of the data generator can be run in parallel. This can be achieved by parallelizing using Kubernetes.
- Metrics are exposed for consumption by Prometheus.
Data Generator
- Capability to define your own schema.
- Full control on how many values will be inserted.
- Scale out to multiple clients is a core concept.
- Huge sets of data can be inserted without creating files as intermediate storage.
Database Coverage
- CrateDB
- InfluxDB
- Microsoft SQL Server
- MongoDB
- PostgreSQL
- TimescaleDB
- Timestream
Install
Python package
shell
pip install --user tsperf
Docker image
shell
alias tsperf="docker run -it --rm --network=host ghcr.io/crate/tsperf:latest tsperf"
tsperf --help
Usage
Please refer to the usage documentation.
Prior Art
cr8 + mkjson
mkjson combined with cr8 insert-json makes it easy to generate random entries into a table.
See generate data sets using mkjson for an example how to use cr8 together with mkjson.
TSBS
The Time Series Benchmark Suite (TSBS) is a collection of Go programs that are used to generate datasets and then benchmark read and write performance of various databases.
Project Information
Contributing
We are always happy to receive code contributions, ideas, suggestions and problem reports from the community.
So, if you’d like to contribute you’re most welcome. Spend some time taking a look around, locate a bug, design issue or spelling mistake and then send us a pull request or open an issue on GitHub.
Thanks in advance for your efforts, we really appreciate any help or feedback.
Acknowledgements
Thanks to all the contributors who helped to co-create and conceive tsperf
in one way or another and kudos to all authors of the foundational libraries.
License
This project is licensed under the terms of the Apache 2.0 license.
Owner
- Name: Crate.io
- Login: crate
- Kind: organization
- Email: office@crate.io
- Location: San Francisco, Dornbirn, Berlin
- Website: https://crate.io
- Twitter: crateio
- Repositories: 61
- Profile: https://github.com/crate
CrateDB: Enabling Data Insights at Scale
GitHub Events
Total
- Delete event: 2
- Member event: 1
- Issue comment event: 2
- Pull request event: 4
- Create event: 2
Last Year
- Delete event: 2
- Member event: 1
- Issue comment event: 2
- Pull request event: 4
- Create event: 2
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Andreas Motl | a****l@c****o | 100 |
| Joshua Hercher | j****h@c****o | 21 |
| kamejosh | k****h | 20 |
| dependabot[bot] | 4****] | 17 |
| Walter Behmann | 4****h | 2 |
| Johannes Faigle | j****e@c****o | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 2
- Total pull requests: 72
- Average time to close issues: N/A
- Average time to close pull requests: 11 days
- Total issue authors: 1
- Total pull request authors: 5
- Average comments per issue: 0.5
- Average comments per pull request: 0.21
- Merged pull requests: 54
- Bot issues: 0
- Bot pull requests: 32
Past Year
- Issues: 1
- Pull requests: 14
- Average time to close issues: N/A
- Average time to close pull requests: 29 days
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 1.0
- Average comments per pull request: 0.43
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 14
Top Authors
Issue Authors
- amotl (2)
- dependabot[bot] (1)
Pull Request Authors
- dependabot[bot] (59)
- amotl (28)
- kamejosh (21)
- WalBeh (1)
- jayeff (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- docker/build-push-action v5 composite
- docker/login-action v3 composite
- docker/metadata-action v5 composite
- docker/setup-buildx-action v3 composite
- docker/setup-qemu-action v3 composite
- python 3.11 build
- actions/checkout master composite
- anothrNick/github-tag-action master composite
- azure/docker-login v1 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite