mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-11 00:42:29 +00:00
44 lines
1.2 KiB
Bash
44 lines
1.2 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
QUERIES_FILE="queries.sql"
|
||
|
TABLE=$1
|
||
|
TRIES=3
|
||
|
|
||
|
PARAMS="--host ... --secure --password ..."
|
||
|
|
||
|
if [ -x ./clickhouse ]
|
||
|
then
|
||
|
CLICKHOUSE_CLIENT="./clickhouse client"
|
||
|
elif command -v clickhouse-client >/dev/null 2>&1
|
||
|
then
|
||
|
CLICKHOUSE_CLIENT="clickhouse-client"
|
||
|
else
|
||
|
echo "clickhouse-client is not found"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
QUERY_ID_PREFIX="benchmark_$RANDOM"
|
||
|
QUERY_NUM=1
|
||
|
|
||
|
cat "$QUERIES_FILE" | sed "s/{table}/${TABLE}/g" | while read query
|
||
|
do
|
||
|
for i in $(seq 1 $TRIES)
|
||
|
do
|
||
|
QUERY_ID="${QUERY_ID_PREFIX}_${QUERY_NUM}_${i}"
|
||
|
${CLICKHOUSE_CLIENT} ${PARAMS} --query_id "${QUERY_ID}" --format=Null --max_memory_usage=100G --query="$query"
|
||
|
echo -n '.'
|
||
|
done
|
||
|
QUERY_NUM=$((QUERY_NUM + 1))
|
||
|
echo
|
||
|
done
|
||
|
|
||
|
sleep 10
|
||
|
|
||
|
${CLICKHOUSE_CLIENT} ${PARAMS} --query "
|
||
|
WITH extractGroups(query_id, '(\d+)_(\d+)\$') AS num_run, num_run[1]::UInt8 AS num, num_run[2]::UInt8 AS run
|
||
|
SELECT groupArrayInsertAt(query_duration_ms / 1000, (run - 1)::UInt8)::String || ','
|
||
|
FROM clusterAllReplicas(default, system.query_log)
|
||
|
WHERE event_date >= yesterday() AND type = 2 AND query_id LIKE '${QUERY_ID_PREFIX}%'
|
||
|
GROUP BY num ORDER BY num FORMAT TSV
|
||
|
"
|