clickhouse-benchmark
连接到 ClickHouse 服务器并反复发送指定的查询。
语法
或者
或者
如果您想发送一组查询,请创建一个文本文件,并在该文件中的每个行中放置单独的查询。例如:
然后将该文件传递给 clickhouse-benchmark
的标准输入:
Keys
--query=QUERY
— 要执行的查询。如果未传递此参数,则clickhouse-benchmark
将从标准输入读取查询。-c N
,--concurrency=N
—clickhouse-benchmark
同时发送的查询数量。默认值:1。-d N
,--delay=N
— 中间报告之间的间隔(要禁用报告设置为 0)。默认值:1。-h HOST
,--host=HOST
— 服务器主机。默认值:localhost
。对于 比较模式,您可以使用多个-h
键。-i N
,--iterations=N
— 查询的总数量。默认值:0(无限重复)。-r
,--randomize
— 如果有超过一个输入查询,则以随机顺序执行查询。-s
,--secure
— 使用TLS
连接。-t N
,--timelimit=N
— 限制时间(以秒为单位)。当达到指定的时间限制时,clickhouse-benchmark
停止发送查询。默认值:0(禁用时间限制)。--port=N
— 服务器端口。默认值:9000。对于 比较模式,您可以使用多个--port
键。--confidence=N
— T 检验的置信水平。可能的值:0(80%)、1(90%)、2(95%)、3(98%)、4(99%)、5(99.5%)。默认值:5。在 比较模式 中,clickhouse-benchmark
执行 独立两样本学生t检验 来确定两个分布在所选置信水平下是否不同。--cumulative
— 打印累计数据,而不是按区间的数据。--database=DATABASE_NAME
— ClickHouse 数据库名称。默认值:default
。--user=USERNAME
— ClickHouse 用户名。默认值:default
。--password=PSWD
— ClickHouse 用户密码。默认值:空字符串。--stacktrace
— 堆栈跟踪输出。当设置此键时,clickhouse-benchmark
输出异常的堆栈跟踪。--stage=WORD
— 服务器上的查询处理阶段。ClickHouse 在指定阶段停止查询处理并将答案返回给clickhouse-benchmark
。可能的值:complete
、fetch_columns
、with_mergeable_state
。默认值:complete
。--help
— 显示帮助信息。
如果您想为查询应用一些 设置,请将其作为键 --<session setting name>= SETTING_VALUE
传递。例如,--max_memory_usage=1048576
。
输出
默认情况下,clickhouse-benchmark
每个 --delay
间隔报告一次。
报告示例:
在报告中,您可以找到:
-
Queries executed:
字段中的查询数量。 -
状态字符串,包含(按顺序):
- ClickHouse 服务器的端点。
- 已处理的查询数量。
- QPS:在
--delay
参数指定的期间内,服务器每秒执行的查询数量。 - RPS:在
--delay
参数指定的期间内,服务器每秒读取的行数。 - MiB/s:在
--delay
参数指定的期间内,服务器每秒读取的兆字节数。 - result RPS:在
--delay
参数指定的期间内,服务器每秒放置到查询结果中的行数。 - result MiB/s:在
--delay
参数指定的期间内,服务器每秒放置到查询结果中的兆字节数。
-
查询执行时间的百分位数。
比较模式
clickhouse-benchmark
可以比较两个运行中的 ClickHouse 服务器的性能。
要使用比较模式,请通过两对 --host
、--port
键指定两个服务器的端点。键按参数列表中的位置匹配,第一个 --host
与第一个 --port
匹配,依此类推。clickhouse-benchmark
建立对两个服务器的连接,然后发送查询。每个查询发送给随机选择的服务器。结果以表格形式显示。