TOC
clickhouse-benchmark
连接到ClickHouse服务器并重复发送指定的查询。
语法:
$ echo "single query" | clickhouse-benchmark [keys]
或者
$ clickhouse-benchmark [keys] <<< "single query"
如果你想发送一组查询,创建一个文本文件,并将每个查询以单独字符串放在该文件中。例如:
SELECT * FROM system.numbers LIMIT 10000000
SELECT 1
然后将该文件传给clickhouse-benchmark
的标准输入。
clickhouse-benchmark [keys] < queries_file
键
-c N
,--concurrency=N
—clickhouse-benchmark
同时发送的查询数。默认值:1。-d N
,--delay=N
— 中间报告之间的间隔,以秒为单位(设置0可以禁用报告)。 默认值:1。-h WORD
,--host=WORD
— 服务器主机。默认值:localhost。用于比较模式,可以使用多个-h
键。-p N
,--port=N
— 服务器端口。默认值:9000。用于比较模式,可以使用多个-p
键。-i N
,--iterations=N
— 查询的总数。默认值:0。-r
,--randomize
— 如果有多个输入查询,则随机排序查询执行。-s
,--secure
— 使用TLS
连接。-t N
,--timelimit=N
— 时间限制,以秒为单位。当达到指定的时间限制时,clickhouse-benchmark
停止发送查询。默认值:0(禁用时间限制)。 –confidence=N
—T-test
的置信度。可能的值:0(80%),1(90%),2(95%),3(98%),4(99%),5(99.5%)。默认值:5。在比较模式中,clickhouse-benchmark
采用独立的双样本学生T-test
来确定两种分布是否与所选择的置信度不存在差异。--cumulative
— 打印累积数据,而不是每个时间间隔的数据。--database=DATABASE_NAME
— ClickHouse数据库名称。默认值:default。--json=FILEPATH
— JSON输出。设置这个键后,clickhouse-benchmark
在指定的json文件将输出一个报告。--user=USERNAME
— ClickHouse用户名。默认值:default。--password=PSWD
— ClickHouse用户密码。默认值:空字符串。--stacktrace
— 输出堆栈跟踪。设置这个键后,clickhouse-bencmark
输出异常的堆栈跟踪。--stage=WORD
— 服务器上的查询处理阶段。ClickHouse在指定的阶段会停止查询处理,并将答案返回给clickhouse-bencmark
。可能的值:complete
、fetch_columns
、with_mergeable_state
。默认值:complete
。--help
— 显示帮助信息。
如果要为查询应用一些设置,请将它们作为键传递--<session setting name>= SETTING_VALUE
。例如,--max_memory_usage=1048576
。
输出
默认情况下,clickhouse-benchmark
为每个--delay
间隔报告1次。
报告的例子:
Queries executed: 10.
localhost:9000, queries 10, QPS: 6.772, RPS: 67904487.440, MiB/s: 518.070, result RPS: 67721584.984, result MiB/s: 516.675.
0.000% 0.145 sec.
10.000% 0.146 sec.
20.000% 0.146 sec.
30.000% 0.146 sec.
40.000% 0.147 sec.
50.000% 0.148 sec.
60.000% 0.148 sec.
70.000% 0.148 sec.
80.000% 0.149 sec.
90.000% 0.150 sec.
95.000% 0.150 sec.
99.000% 0.150 sec.
99.900% 0.150 sec.
99.990% 0.150 sec.
在报告中你可以发现:
Queries executed:
字段查看查询的数量。- 状态字符串包含(顺序):
- ClickHouse服务器端点。
- 已处理查询的数目。
- QPS: 在
--delay
参数中指定的时间段服务器每秒执行多少次查询。 - RPS: 在
--delay
参数中指定的时间段服务器每秒读取多少行。 - MiB/s: 在
--delay
参数中指定的时间服务器段每秒读取多少字节,以MB为单位。 - result RPS: 在
--delay
参数中指定的时间服务器每秒向查询结果放置多少行。 - result MiB/s: 在
--delay
参数中指定的时间服务器每秒向查询结果放置多少字节,以MB为单位。
- 查询百分比的执行时间。
比较模式
clickhouse-benchmark
可以比较两个正在运行的ClickHouse服务器的性能。
要使用比较模式,通过两对键--host
,--port
指定两个服务器的端点。
键通过参数列表中的位置匹配在一起,第一个--host
与第一个--port
匹配在一起,以此类推。clickhouse-benchmark
建立到两个服务器的连接,然后发送查询。每个查询都发送到随机选择的服务器。结果单独为每个服务器展示。
示例
$ echo "SELECT * FROM system.numbers LIMIT 10000000 OFFSET 10000000" | clickhouse-benchmark -i 10
Loaded 1 queries.
Queries executed: 6.
localhost:9000, queries 6, QPS: 6.153, RPS: 123398340.957, MiB/s: 941.455, result RPS: 61532982.200, result MiB/s: 469.459.
0.000% 0.159 sec.
10.000% 0.159 sec.
20.000% 0.159 sec.
30.000% 0.160 sec.
40.000% 0.160 sec.
50.000% 0.162 sec.
60.000% 0.164 sec.
70.000% 0.165 sec.
80.000% 0.166 sec.
90.000% 0.166 sec.
95.000% 0.167 sec.
99.000% 0.167 sec.
99.900% 0.167 sec.
99.990% 0.167 sec.
Queries executed: 10.
localhost:9000, queries 10, QPS: 6.082, RPS: 121959604.568, MiB/s: 930.478, result RPS: 60815551.642, result MiB/s: 463.986.
0.000% 0.159 sec.
10.000% 0.159 sec.
20.000% 0.160 sec.
30.000% 0.163 sec.
40.000% 0.164 sec.
50.000% 0.165 sec.
60.000% 0.166 sec.
70.000% 0.166 sec.
80.000% 0.167 sec.
90.000% 0.167 sec.
95.000% 0.170 sec.
99.000% 0.172 sec.
99.900% 0.172 sec.
99.990% 0.172 sec.
「如果这篇文章对你有用,请支持一下哦」
如果这篇文章对你有用,请支持一下哦
使用微信扫描二维码完成支付