ClickHouse官方文档翻译_操作-工具-clickhouse-benchmark

Posted by Lance Lee on Tuesday, June 2, 2020

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=Nclickhouse-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=NT-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。可能的值:completefetch_columnswith_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.

「如果这篇文章对你有用,请支持一下哦」

Attack On Programmer

如果这篇文章对你有用,请支持一下哦

使用微信扫描二维码完成支付