mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-29 11:02:08 +00:00
34 lines
1.1 KiB
Bash
Executable File
34 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Tags: no-fasttest
|
|
# Tag no-fasttest: needs s3
|
|
|
|
CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
# shellcheck source=../shell_config.sh
|
|
. "$CURDIR"/../shell_config.sh
|
|
|
|
$CLICKHOUSE_CLIENT -nq "
|
|
-- Limit S3 PUT request per second rate
|
|
SET s3_max_put_rps = 2;
|
|
SET s3_max_put_burst = 1;
|
|
|
|
CREATE TEMPORARY TABLE times (t DateTime);
|
|
|
|
-- INSERT query requires 3 PUT requests and 1/rps = 0.5 second in between, the first query is not throttled due to burst
|
|
INSERT INTO times SELECT now();
|
|
INSERT INTO TABLE FUNCTION s3('http://localhost:11111/test/request-throttler.csv', 'test', 'testtest', 'CSV', 'number UInt64') SELECT number FROM numbers(1000000) SETTINGS s3_max_single_part_upload_size = 10000, s3_truncate_on_insert = 1;
|
|
INSERT INTO times SELECT now();
|
|
|
|
SELECT max(t) - min(t) >= 1 FROM times;
|
|
|
|
SYSTEM FLUSH LOGS;
|
|
SELECT ProfileEvents['S3CreateMultipartUpload'] == 1,
|
|
ProfileEvents['S3UploadPart'] == 1,
|
|
ProfileEvents['S3CompleteMultipartUpload'] == 1
|
|
FROM system.query_log
|
|
WHERE query LIKE '%request-throttler.csv%'
|
|
AND type = 'QueryFinish'
|
|
AND current_database = currentDatabase()
|
|
ORDER BY query_start_time DESC
|
|
LIMIT 1;
|
|
"
|