跳转到主要内容

用于测试时间序列数据库性能的工具

项目描述

TSPERF 时间序列数据库基准测试套件

TSPERF 是一个评估和比较时间序列数据库性能的工具,灵感来源于 TimescaleDB 的时间序列基准测试套件 (TSBS)。

» 文档 | 变更日志 | PyPI | 问题 | 源代码 | 许可

CI Coverage Status License Downloads per month

Supported Python versions Status Package version

关于

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 生成数据集的示例,了解如何将 cr8mkjson 一起使用。

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 查看哈希值)

上传时间 Python 3

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面