用于测试时间序列数据库性能的工具
项目描述
TSPERF 时间序列数据库基准测试套件
TSPERF 是一个评估和比较时间序列数据库性能的工具,灵感来源于 TimescaleDB 的时间序列基准测试套件 (TSBS)。
» 文档 | 变更日志 | PyPI | 问题 | 源代码 | 许可
关于
tsperf
程序包含数据库工作负载生成器和查询计时器。这有效地涵盖了两个领域,一个用于写入数据,另一个用于读取。
- 数据生成器:生成时间序列数据并将其输入到数据库中。使用
tsperf write --help
来探索其选项。 - 查询计时器:探测数据库在读取路径上的响应性。使用
tsperf read --help
来探索其选项。
为了进行容量测试,两个领域都试图模拟时间序列数据的生成和查询。由于程序易于使用,它可以提供即时奖励,而无需设置整个数据摄取链。
功能
通用
- 生成遵循统计模型的随机数据,以更好地反映现实世界场景,现实世界数据几乎永远不会真正随机。
- "稳定负载"模式可以模拟每秒定义的消息数量的恒定负载。
- 准备好使用 Docker 容器部署和扩展数据生成器。为了最大限度地提高性能,可以并行运行多个数据生成器的实例。这可以通过 使用 Kubernetes 并行化 实现。
- 指标被暴露给 Prometheus 消费。
数据生成器
- 定义您自己的模式的能力。
- 完全控制要插入多少值。
- 扩展到多个客户端是一个核心概念。
- 可以插入大量数据而无需创建文件作为中间存储。
数据库覆盖
- CrateDB
- InfluxDB
- Microsoft SQL Server
- MongoDB
- PostgreSQL
- TimescaleDB
- Timestream
安装
Python 包
pip install --user tsperf
Docker 镜像
alias tsperf="docker run -it --rm --network=host ghcr.io/crate/tsperf:latest tsperf"
tsperf --help
用法
请参阅用法文档。
先前的艺术
cr8 + mkjson
mkjson
结合 cr8 insert-json
可以轻松地将随机条目插入到表中。请参阅使用 mkjson 生成数据集的示例,了解如何将 cr8
与 mkjson
一起使用。
TSBS
时间序列基准测试套件 (TSBS) 是一个 Go 程序集合,用于生成数据集,然后基准测试各种数据库的读写性能。
项目信息
贡献
我们始终欢迎来自社区的代码贡献、想法、建议和问题报告。
因此,如果您想做出贡献,我们将非常欢迎。花点时间四处看看,找到错误、设计问题或拼写错误,然后向我们发送拉取请求或在 GitHub 上打开问题。
提前感谢您的努力,我们非常感谢任何帮助或反馈。
致谢
感谢所有以各种方式共同创造和构思 tsperf
的贡献者,并感谢所有基础库的作者。
许可证
本项目遵循Apache 2.0许可证条款。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
tsperf-1.2.1.tar.gz (60.4 kB 查看哈希值)
构建分发
tsperf-1.2.1-py3-none-any.whl (93.0 kB 查看哈希值)
关闭
tsperf-1.2.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 51ec301efee6a5b28b8267647fda24552b76fc59b86f34ec545ff908a21d35f9 |
|
MD5 | dc482997b22e3b43b11b5b032c2d124e |
|
BLAKE2b-256 | 625120d11407825d4e385d724496df8c5091c63a03ef1cc981085188a0c28068 |
关闭
tsperf-1.2.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5127f487eba219cf4f8782dc3977752aaa36c60b8e5810baa48412f2355a3dc0 |
|
MD5 | f4e7c488fc21c9b5c518c77ae2683b57 |
|
BLAKE2b-256 | 43d1f5cd361705208266ea6b8b109c3191bd430da91e8a62586e5862ec23a00d |