ClickHouse 性能测试

ClickHouse性能测试 ClickHouse 是 Yandex(俄罗斯最大的搜索引擎)开源的一个用于实时数据分析的基于列存储的数据库,其处理数据的速度比传统方法快 100-1000 倍。这里我们用大量的数据对ClickHouse进行性能测试。 阅读详情

图片

本文字数:5263;估计阅读时间:14 分钟

作者:Alexander Kuzmenkov

审校:庄晓东(魏庄)

本文在公众号【ClickHouseInc】首发

图片

ClickHouse 的一大优势在于其速度非常快,在很多情况下可以将硬件性能发挥到理论极限。许多独立的基准测试,如这个测试,都证实了这一点。其速度源于正确的架构选择和算法优化,并进行了一些独特的优化。在我们的网站上可以找到这些因素的概述,或者可以观看 ClickHouse 首席开发者 Alexey Milovidov 的演讲《ClickHouse 性能优化的秘密》。但这只是一个静态的“现状”。软件是一个不断变化的有机体,而 ClickHouse 的变化速度非常快——为了解释这一规模,仅在 2021 年 7 月,我们就合并了由 60 位不同作者提交的 319 个拉取请求(实时统计数据在这里)。如果没有积极维护,性能等任何特性都会在持续变化中丧失。因此,我们必须有一些流程来确保 ClickHouse 始终保持快速。

测量和比较性能

首先,我们如何知道它是否快速?我们进行了大量的基准测试,涵盖了各种类型。最基本的基准测试是一种微基准测试,这种测试不使用完整的服务器代码,而是单独测试特定的算法。我们用它们来选择某些聚合函数的最佳内部循环,或测试各种哈希表布局等。例如,当我们发现一个竞争数据库引擎使用 sum 聚合函数完成查询的速度是我们的两倍时,我们测试了几十种 sum 的实现,最终找到了性能最佳的(参见关于此的演讲,俄语)。但仅仅测试一个特定的算法并不足以说明整个查询的工作情况。我们还必须对整个查询进行端到端的测量,通常使用真实的生产数据,因为数据的特性(如值的基数和分布)对性能有很大影响。目前,我们大约有 3000 个端到端的测试查询,组织成大约 200 个测试。许多测试使用真实的数据集,例如 Yandex.Metrica 的生产数据,通过 clickhouse-obfuscator 进行混淆,如此处所述。

微基准测试通常由开发人员在编写代码时运行,但手动运行整个端到端测试套件来检查每次更改是不实际的。我们使用一个自动化系统作为持续集成检查的一部分,为每个拉取请求执行此操作。该系统测量拉取请求的代码更改是否影响性能、影响了哪些查询类型以及影响程度,如果出现性能回归,会提醒开发人员。以下是典型报告的样子。

图片

在讨论“性能变化”之前,我们首先要测量性能。单个查询最直观的度量方式是耗时。耗时容易受到随机变化的影响,因此我们必须进行多次测量并取平均值。从应用程序的角度来看,最关注的统计数据是最大值。我们希望保证在 ClickHouse 上构建的分析仪表板响应迅速。然而,由于随机因素(如突发的磁盘负载峰值或网络延迟),查询时间几乎可以无限增长,因此使用最大值是不实际的。最小值也具有参考意义,因为它代表理论上的最快速度。但如果只看最小值,我们会忽略一些查询运行缓慢的情况(例如某些缓存中的边界效应)。因此,我们折中选择中位数,它是一种对离群值敏感且稳定的统计数据。

测量性能后,我们如何确定其发生了变化?由于各种随机和系统因素,查询时间总是在漂移,数值总是变化,但关键在于这种变化是否有意义。如果我们有一个旧版本和一个新版本的服务器,它们是否会 consistently 为该查询提供不同的结果,还是只是偶然的?为此,我们需要采用某种统计方法。这些方法的核心思想是将观察值与参考分布进行比较,判断观察值是否合理地属于该分布。如果不能,则意味着补丁服务器的性能特性确实不同。

选择参考分布是性能测试的起点。一种获取参考分布的方法是建立一个数学模型。这对于简单的过程(如固定次数的掷硬币)效果很好。我们可以分析推导出正面次数符合二项分布,并在给定显著性水平下计算出其置信区间。如果观察到的正面次数不在这个区间内,可以推断硬币存在偏差。然而,从基础原理出发对查询执行进行建模过于复杂。我们最多能做的是利用硬件能力估算查询的理论最快运行速度,并努力实现这个吞吐量。

对于复杂而难以建模的过程,一种实际的选择是利用相同过程的历史数据。我们曾经为 ClickHouse 使用这种方法。对于每次提交,我们测量每个测试查询的运行时间并将其存入数据库。我们可以将补丁服务器的性能与这些历史参考值进行比较,绘制随时间变化的性能图表等。然而,这种方法的主要问题是环境引起的系统误差。例如,性能测试任务可能会在硬盘损坏的机器上运行,或者 atop 更新到会减慢内核调用速度的版本。这就是为什么我们现在采用另一种方法。

我们在同一台机器上同时运行参考版本和测试版本的服务器进程,逐一在每个服务器上运行测试查询。这样可以消除大部分系统误差,因为两个服务器受到的环境影响相同。然后我们比较参考服务器和测试服务器的结果,判断它们是否一致。比较两个样本的分布本身就是一个非常有趣的问题。我们使用非参数 bootstrap 方法构建中位数查询运行时间差异的随机分布。该方法在 [1] 中有详细描述,他们用它来研究改变肥料配方对番茄产量的影响。ClickHouse 和番茄差别不大,只是我们检查的是代码变更对性能的影响。

这种方法最终得出一个阈值 T:即使没有变化时,我们观察到的旧服务器和新服务器之间中位数查询运行时间的最大差异。然后,我们有一个基于这个阈值 T 和测量的中位数差异 D 的简单决策协议:

  1. abs(D) <= T — 变化在统计上不显著,

  2. abs(D) <= 5% — 变化太小,不重要,

  3. abs(T) >= 10% — 测试查询的运行时间方差过大,导致灵敏度低,

  4. 最后,abs(D) >= T 且 abs(D) >= 5% — 存在统计上显著且重要的变化。

最有趣的是不稳定的查询(3)。即使在相同版本的服务器上,运行时间也显著变化,这意味着我们无法检测到性能变化,因为这些变化会被噪音掩盖。这类查询最难调试,因为没有直接的方法比较“好”服务器和“坏”服务器。这个话题值得另写一篇文章,我们将在下一篇文章中探讨。现在,让我们考虑理想情况(4)。这是系统旨在捕捉的实际且显著的性能变化。接下来我们该怎么做?

理解变化背后的原因

代码性能分析通常从使用分析器开始。在 Linux 上,你可以使用 perf,这是一种采样分析器,周期性地收集进程的堆栈跟踪,让你看到程序花费时间最多的地方。在 ClickHouse 中,我们有一个内置的采样分析器,它将结果保存到系统表中,因此不需要外部工具。可以按照文档说明通过传递设置来为所有查询或特定查询启用它。默认情况下是启用的,因此如果你使用的是最新版本的 ClickHouse,你已经拥有了生产服务器负载的综合分析。为了可视化这些数据,我们可以使用一个常用脚本来生成火焰图:


clickhouse-client -q "SELECT
    arrayStringConcat(
        arrayMap(
            x -> concat(splitByChar('/', addressToLine(x))[-1],
                '#', demangle(addressToSymbol(x))),
            trace),
        ';') AS stack,
    count(*) AS samples
FROM system.trace_log
WHERE trace_type = 'Real'
AND query_id = '4aac5305-b27f-4a5a-91c3-61c0cf52ec2a'
GROUP BY trace" \
| flamegraph.pl

作为一个例子,让我们看一下之前提到的测试运行。这个拉取请求旨在加速可为空整数类型的 sum 聚合函数。我们来看一下测试“sum”的查询 #8:SELECT sum(toNullable(number)) FROM numbers(100000000)。测试系统报告其性能提高了 38.5%,并为其生成了一个差异火焰图,显示了各个函数的相对时间分布。我们可以看到计算 sum 的函数 DB::AggregateFunctionSumData::addManyNotNull<unsigned long>的执行时间减少了 15%。

图片

为了进一步了解性能变化的原因,我们可以检查旧服务器和新服务器之间各种查询指标的变化。这包括 system.query_log.ProfileEvents 中的所有指标,如 SelectedRows 和 RealTimeMicroseconds。ClickHouse 还使用 Linux 的 perf_event_open API 跟踪硬件 CPU 指标,例如分支或缓存未命中的次数。下载测试输出归档文件后,我们可以用一个简单的脚本生成这些指标的统计数据和图表。

图片

该图显示了旧服务器和新服务器每秒执行的分支指令数量。我们可以看到分支指令的数量显著减少,这可能解释了性能差异。这个拉取请求删除了一些 if 语句并用乘法替换,因此这一解释是合理的。

虽然并行比较能有效减少系统误差,但历史数据在发现性能回归的引入点或调查不稳定的测试查询时仍然非常有价值。这就是为什么我们将所有测试结果保存到 ClickHouse 数据库中。让我们再看一下 sum 测试的查询 #8。我们可以通过在实时 ClickHouse CI 数据库中运行以下 SQL 查询来构建性能变化的历史记录。打开链接并运行查询,查看结果。测试历史中共有三次显著的性能变化。最近的一次是我们提到的 PR 带来的加速。第二次加速与完全切换到 clang 11 有关。有趣的是,还有一个 PR 引入了一次小幅减速,该 PR 原本是为了加速。

可用性考虑

无论内部工作原理如何,测试系统必须在开发过程中实际可用。首先,误报率应尽可能低。误报的调查成本很高,如果误报频繁发生,开发人员会认为测试不可靠,并倾向于忽略真实的正报。测试还必须提供简洁的报告,使问题一目了然。在这方面我们并未完全成功。这个测试有更多的失败模式,而不仅仅是功能测试,更糟糕的是,这些失败有些是定量的,而不是二元的。许多复杂性是本质上的,我们试图通过提供良好的文档并从报告页面直接链接到相关部分来缓解这一问题。另一个重要的是,用户必须能够在事后调查有问题的查询,而不必再次在本地运行。这就是为什么我们尝试将所有的指标和中间结果以易于操作的纯文本格式导出。

从组织上来说,很难防止系统陷入只显示绿色检查标志而不提供任何见解的状态。我喜欢用“挖掘绿色检查标志”这个比喻,类似于加密货币。我们的上一个系统正是这样做的。它使用越来越复杂的启发式方法来防止误报,如果结果不理想,它会多次重启自身等等。最终,它浪费了大量的处理能力,而没有提供服务器性能的真实图景。如果你想确定性能是否有变化,你必须手动重新检查。这种糟糕的状态是开发激励机制不当的结果——大多数时候,开发人员只想合并他们的拉取请求,不希望被一些晦涩的测试失败所困扰。编写好的性能测试查询也并不总是简单的。不是任何查询都可以——它必须具有可预测的性能,不能太快也不能太慢,实际测量一些内容等等。在收集了更多精确的统计数据后,我们发现数百个测试查询没有测量任何有意义的内容,例如它们在不同运行之间的结果差异高达 100%。另一个问题是性能经常以统计上显著的方式变化(真正的正报),但没有相关的代码变化(例如由于可执行文件布局的随机差异)。鉴于所有这些困难,工作性能测试系统必然会给开发过程带来显著的摩擦。大多数“显而易见”的方法来消除这种摩擦最终都归结为“挖掘绿色检查标志”。

在实现方面,我们的系统很特别,因为它不依赖知名的统计包,而是大量使用 clickhouse-local,这个工具将 ClickHouse SQL 查询处理器变成了一个命令行工具。用 ClickHouse SQL 进行所有计算帮助我们发现了 clickhouse-local 的一些 bug 和可用性问题。性能测试继续作为一个重型 SQL 测试工作,有时会发现复杂联接等方面的新引入的 bug。查询分析器在性能测试中始终启用,这发现了我们 fork 的 libunwind 中的 bug。为了运行测试查询,我们使用了第三方 Python 驱动程序。这是我们在 CI 中唯一使用该驱动程序的地方,它还帮助我们发现了本地协议处理中的一些 bug。一个不太光彩的事实是,支架由大量的 bash 组成,但这至少让我们相信在 CI 中运行 shellcheck 非常有帮助。

这就是 ClickHouse 性能测试系统概述的全部内容。请继续关注下一篇文章,我们将讨论性能测试失败中最棘手的一种情况——不稳定的查询运行时间。

参考:

  1. Box, Hunter, Hunter, 2005. Statistics for experimenters, p. 78: A Randomized Design Used in the Comparison of Standard and Modified Fertilizer Mixtures for Tomato Plants. 

征稿启示

面向社区长期正文,文章内容包括但不限于关于 ClickHouse 的技术研究、项目实践和创新做法等。建议行文风格干货输出&图文并茂。质量合格的文章将会发布在本公众号,优秀者也有机会推荐到 ClickHouse 官网。请将文章稿件的 WORD 版本发邮件至:Tracy.Wang@clickhouse.com

图片

​​联系我们

手机号:13910395701

邮箱:Tracy.Wang@clickhouse.com

满足您所有的在线分析列式数据库管理需求

【JMeter-ClickHouse】使用JMeter对ClickHouse的查询性能进行压测 ClickHouse的连接驱动JMeter自身没有集成,需要我们自行添加,否则就会出现找不到驱动的异常。将star schema转换为flat schema,为后面查询性能压测做准备。这里选取几个常用的监听器进行举例,其中响应时间单位均为。路径下,如果有重复的就跳过添加。将所有jar包放入到。【JMeter-ClickHouse】使用JMeter对ClickHouse的查询性能进行压测 阅读详情

相关推荐

ClickHouse性能优化

列式存储是一种数据库存储技术,它将数据按列而不是按行存储。这意味着每一列的数据都存储在一起,而不是每一行的数据存储在一起。这种存储方式对于联机分析处理(OLAP)非常有用,因为它可以避免读取不必要的列,从而避免昂贵的磁盘读取操作。此外,将同一列的不同值存储在一起通常会导致更好的压缩比率(与行式系统相比),因为在实际数据中,相邻行的同一列通常具有相同或不太多的不同值。在ClickHouse中,主键和索引的定义对查询性能有很大影响。你可以在创建表时使用语句来定义主键和索引。

2401_84715997的博客 1885

clickhouse性能评测

clickhouse性能测试

anguoan的博客 1155

大数据领域ClickHouse的性能测试与评估方法

ClickHouse作为一款开源的列式OLAP数据库,在大数据分析领域表现出色。理解ClickHouse的性能特点设计科学的性能测试方案正确解读测试结果基于测试结果进行优化决策本文将首先介绍ClickHouse的核心架构特点,然后详细讲解性能测试的各个维度,包括测试环境准备、测试数据集设计、测试工具选择等。接着我们会通过实际案例展示如何进行测试和结果分析,最后讨论性能优化的常见策略。OLAP:联机分析处理,专注于复杂分析查询而非事务处理列式存储:数据按列而非按行存储,适合分析场景。

AI 算法实战派 1159

clickhouse HA 及性能测试

目录 需求说明 逻辑架构图 物体架构图 测试性能 测试指标说明: sql语句准备 环境准备 测试结论报告 (1) HA测试,停止某台服务,对外服务是否正常访问 (2)spark 以(5/10/20/40)个并发模拟写数据时,读性能(读50/100/150并发)测试 2.1 写并发测试 2.2 qps并发性能测试 (3)租户划分使用场景 (4)缓存 结论 需求说明 针对clickhouse作为生产环境的底层数据存储,为了能保证生产环境服务稳定可用,做如下性能测试: ..

humanity11的博客 4979

【Clickhouse】基于TCP的一个clickhouse写入软件clickhouse_sinker性能测试

在这个里面有一些测试性能报告,但是和我们的没有对比,因此我想根据我们的数据和表结构进行测试一下。我们的是日志数据,表结构有500多个字段,然后我们的数据大概是100到150个字段的写入,字段并不是都有值。每条数据大小在 1.2k到2k之间。

九师兄 1085

从零到一:手把手部署用友T3标准版11.2及SQL Server 2008R2环境

本文详细介绍了从零开始部署用友T3标准版11.2及SQL Server 2008R2环境的完整流程,包括环境准备、SQL Server安装、环境检测与修复、T3标准版安装实战以及初始化配置与测试。通过手把手的步骤指导和常见问题解决方案,帮助用户顺利完成部署,确保系统稳定运行。

weixin_28339967的博客 453

clickhouse hadoop_clickhouse 性能测试

clickhouse 性能测试发布时间:2018-09-20 11:26,浏览次数:1283, 标签:clickhouse注意:本测试使用的是官网的数据集,由于官网聚合操作太多过滤,所以写了一些没有过滤的聚合操作,本测试属于极限测试,真实业务中的聚合操作肯定会有很多过滤操作的一.表的创建和数据导入创建表:必须在每个节点创建表,ddl 没有同步create database test ; use t...

weixin_39658019的博客 252

MySQL 8.0数据库崩了别慌!手把手教你仅凭一个.ibd文件找回数据(附Go工具包)

本文详细介绍了在MySQL 8.0数据库崩溃后,如何仅凭.ibd文件恢复数据的完整流程。通过使用Go语言工具包和ALTER TABLE技巧,即使没有备份也能实现数据重生。文章包含从环境准备到数据验证的全方位指导,帮助DBA和开发者应对紧急数据恢复场景。

weixin_29235923的博客 419

Clickhouse 亿级数据性能测试

clickhouse 在数据分析技术领域早已声名远扬,如果还不知道可以 (https://clickhouse.tech/docs/zh/) 了解下。最近由于项目需求使用到了 clickh...

weixin_45727359的博客 703

本地部署 Anything LLM+Ollama+DeepSeek R1 大模型并实现外部访问

DeepSeek 一经发布就引起社会的广泛的关注,因为 DeepSeek 的价格低廉,性能卓越,提供了多种使用方式,满足不同用户的需求和场景。本文将详细的介绍如何在本地 Windows 上安装部署 Anything LLM + Ollama 来实现用户和 DeepSeek-r1 对话的功能以及利用路由侠内网穿透实现外网访问。

lyxnwct的博客 1895

嵌入式接口通识知识之PCIe接口

PCIe x1接口是最常见的一种,插槽的长度是最短的,仅有25mm。PCIe x4接口有四个数据通道,提供比x1接口更高的带宽,插槽的长度为39mm,分为前后两组,一组22根针脚用于供电,剩下的42根针脚是数据针脚。插槽全长89mm,有164根针脚,分为前后两组,较短的插槽有22根针脚,主要用于供电,较长的插槽142根,主要用于数据传输,具有16通道所带来的高带宽。PCIe x8接口有八个数据通道,插槽全长56mm,有98跟针脚,分为前后两组,较短的22根针脚用于供电,剩下的76根针脚是数据针脚。

2301_76587520的博客 1305

ClickHouse监控和性能测试

下面是一个使用ClickHouse-benchmark进行性能测试的完整代码示例:安装ClickHouse-benchmark创建测试配置文件echo],运行性能测试。

互联网知识分享 1533

MATLAB基础应用精讲-【数模应用】信用评分模型(附R语言和python代码实现)

信用评分模型是近年来兴起的一种为了保障银行和其他金融部门的金融安全而设立的一种关于人身金融权限的划定模型。该模型指根据客户的信用历史资料,利用一定的信用评分模型,得到不同等级的信用分数,根据客户的信用分数,来决定客户所可以持有的金额权限,从而保证还款等业务的安全性。而随着在现代社会和公司中,贷款,信用卡的作用日渐突出,信用评分模型的发展前景不可估量。信贷风险是指借款人因偿还贷款或履行合同承诺而破产而产生损失的可能性。传统上,它与贷款人无法偿还所欠利息和本金、影响现金流和增加装配成本所产生的风险有关。

qq_36130719的博客 364

ClickHouse的数据库性能测试

1.背景介绍 1. 背景介绍 ClickHouse 是一个高性能的列式数据库,主要用于实时数据分析和报表。它的设计目标是提供快速、可扩展的查询性能,支持大量数据的存储和处理。ClickHouse 的性能测试是评估数据库性能的重要环节,可以帮助我们了解数据库在不同场景下的表现,并为优化和调整提供依据。 本文将从以下几个方面进行探讨: 核心概念与联系 核心算法原理和具体操作步骤 数学模型公式...

AI天才研究院 1125

【agent实战教程】OpenClaw多个agent一文通

一个合格的独立agent,必须具备6个完全独立的专属组件独立组件路径规则核心要求不独立的严重后果唯一agentId配置文件中全局唯一,不能重复,建议用英文+数字,不要有特殊字符agent配置冲突,消息派单错误,会话串线独立工作区(workspace)建议每个agent一个独立文件夹,不要共用人设、记忆、规则混在一起,agent人设崩塌,对话串线独立状态目录(agentDir)固定系统自动生成,绝对禁止多个agent复用同一个agentDir。

海兰 649

AUTOSAR进阶图解==>AUTOSAR_SWS_ECUStateManager

AUTOSAR ECU State Manager 摘要 AUTOSAR ECU状态管理器(EcuM)是Classic Platform 4.4.0规范中的核心模块,负责管理ECU的整个生命周期,包括启动、运行、关机和睡眠等状态转换。EcuM通过协调各基础软件模块的初始化过程,确保系统可靠运行。 主要功能包括: 启动管理 - 控制从硬件初始化到应用运行的完整启动序列 状态转换 - 管理RUN/POST_RUN/SHUTDOWN等状态切换 唤醒验证 - 区分真实与虚假唤醒事件 关机序列 - 确保安全关机保存关

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 2470

ClickHouse之简单性能测试

环境: centos 6.3,32G内存,24核 下载脚本: #!/bin/bash for s in `seq 1987 2017` do for m in `seq 1 12` do mwget -n 128 http://transtats.bts.gov/PREZIP/On_Time_On_Time_Performance_${s}_${m}.zip don...

weixin_30709061的博客 606

小论文/大论文必备 | RT-DETR目标检测、数据集增强 | 引入多种数据集增强方法,支持图像和标签同步扩充增强,助力小论文和大论文实验涨点策略,平均提升模型mAP约1-2个百分点

RT-DETR目标检测数据增强策略研究 ,本文针对RT-DETR目标检测模型提出9种数据增强方法,包括几何变换(水平/垂直翻转、中心裁剪)、光照调整(亮度、对比度)和噪声添加(高斯/椒盐噪声)等。所有增强操作均保持图像与标签同步变换,确保训练数据的准确性。实验表明,该策略可提升模型mAP 1-2个百分点,对小目标检测效果尤为显著。文中提供了完整的Python实现代码,支持批量处理图像和标签文件,并详细说明了各增强方法的功能特点。该方法通过提升数据多样性,有效增强了模型在复杂场景下的鲁棒性和泛化能力。

Ai缝合怪、助力小伙伴高效发论文 460

clickhouse性能测试

clickhouse性能测试 准备 集群环境建表 CREATE TABLE test.ontime ON CLUSTER yc_clickhouse \ ( Year UInt16, \ Quarter UInt8, \ Month UInt8, \ DayofMonth UInt8, \ DayOfWeek UInt8, \ FlightDate Date, \ UniqueCarrier FixedString(7), \ AirlineID In

weixin_42042307的博客 983

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TSBS项目ClickHouse性能测试全指南

在数据库性能测试领域,TSBS(Time Series Benchmark Suite)是一个专门用于评估时序数据库性能的开源工具集。本文将深入解析TSBS中针对ClickHouse数据库的测试实现细节,帮助读者全面了解测试数据格式、工具使用方法以及完整的测试流程。 ## ClickHouse简介 ClickHouse是一个开源的列式数据库管理系统(DBMS),专为在线分析处理(OLAP)场景...

gitblog_01006的博客 460

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ClickHouse部署安装,性能测试惊艳!

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。是一款实时在线分析数据仓库。性能真的是没的说。

风之飘渺 956

如何快速完成ClickHouse性能测试:TSBS终极指南

Time Series Benchmark Suite(TSBS)是一款强大的时间序列数据库性能测试工具,能够帮助开发者快速评估和比较不同数据库的性能表现。本文将详细介绍如何使用TSBS对ClickHouse进行全面性能测试,从环境准备到结果分析,让你轻松掌握数据库性能评估的关键技巧。 ## 为什么选择TSBS进行ClickHouse性能测试? TSBS提供了标准化的数据生成、导入和查询流程,

gitblog_00527的博客 783

clickhouse性能测试并数据集下载(Star Schema Benchmark)附clickhouse官网

# 下载SSBM工具 [root@node01]# git clone https://github.com/vadimtk/ssb-dbgen.git [root@node01]# cd ssb-dbgen [root@node01]# make 生成数据 [root@node01]# ./dbgen -s 100 -T c [root@node01]# ./dbgen -s 100 -T p [root@node01]# ./dbgen -s 100 -T s [root@node01]# .

东城庞太师 2576

ClickHouse性能测试方案

确定测试目标和需求:准备测试环境:准备测试数据:设计测试场景:执行性能测试:监控和分析性能指标:优化和调优:多次测试和验证:性能测试报告和总结:

swpmvp的专栏 690
上一篇: ClickHouse 24.5 版本发布说明
下一篇: Trip.com 如何从 Elasticsearch 迁移到 ClickHouse 并构建了 50PB 的日志解决方案
ClickHouseDB
博客等级 码龄3年 1707粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值