mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-05 14:02:21 +00:00
92 lines
3.8 KiB
SQL
92 lines
3.8 KiB
SQL
-- Tags: no-parallel, no-fasttest, long, no-random-settings
|
|
|
|
SET max_bytes_before_external_sort = 33554432;
|
|
set max_block_size = 1048576;
|
|
|
|
SELECT number FROM (SELECT number FROM numbers(2097152)) ORDER BY number * 1234567890123456789 LIMIT 2097142, 10
|
|
SETTINGS log_comment='02402_external_disk_mertrics/sort'
|
|
FORMAT Null;
|
|
|
|
SET max_bytes_before_external_group_by = '100M';
|
|
SET max_memory_usage = '410M';
|
|
SET group_by_two_level_threshold = '100K';
|
|
SET group_by_two_level_threshold_bytes = '50M';
|
|
|
|
SELECT sum(k), sum(c) FROM (SELECT number AS k, count() AS c FROM (SELECT * FROM system.numbers LIMIT 2097152) GROUP BY k)
|
|
SETTINGS log_comment='02402_external_disk_mertrics/aggregation'
|
|
FORMAT Null;
|
|
|
|
SET join_algorithm = 'partial_merge';
|
|
SET default_max_bytes_in_join = 0;
|
|
SET max_bytes_in_join = 10000000;
|
|
|
|
SELECT n, j * 2097152 FROM
|
|
(SELECT number * 200000 as n FROM numbers(5)) nums
|
|
ANY LEFT JOIN ( SELECT number * 2 AS n, number AS j FROM numbers(1000000) ) js2
|
|
USING n
|
|
ORDER BY n
|
|
SETTINGS log_comment='02402_external_disk_mertrics/join'
|
|
FORMAT Null;
|
|
|
|
SYSTEM FLUSH LOGS;
|
|
|
|
SELECT
|
|
if(
|
|
any(ProfileEvents['ExternalProcessingFilesTotal']) >= 1 AND
|
|
any(ProfileEvents['ExternalProcessingCompressedBytesTotal']) >= 100000 AND
|
|
any(ProfileEvents['ExternalProcessingUncompressedBytesTotal']) >= 100000 AND
|
|
any(ProfileEvents['ExternalSortWritePart']) >= 1 AND
|
|
any(ProfileEvents['ExternalSortMerge']) >= 1 AND
|
|
any(ProfileEvents['ExternalSortCompressedBytes']) >= 100000 AND
|
|
any(ProfileEvents['ExternalSortUncompressedBytes']) >= 100000 AND
|
|
count() == 1,
|
|
'ok',
|
|
'fail: ' || toString(count()) || ' ' || toString(any(ProfileEvents))
|
|
)
|
|
FROM system.query_log WHERE current_database = currentDatabase()
|
|
AND log_comment = '02402_external_disk_mertrics/sort'
|
|
AND query ILIKE 'SELECT%2097152%' AND type = 'QueryFinish';
|
|
|
|
SELECT
|
|
if(
|
|
any(ProfileEvents['ExternalProcessingFilesTotal']) >= 1 AND
|
|
any(ProfileEvents['ExternalProcessingCompressedBytesTotal']) >= 100000 AND
|
|
any(ProfileEvents['ExternalProcessingUncompressedBytesTotal']) >= 100000 AND
|
|
any(ProfileEvents['ExternalAggregationWritePart']) >= 1 AND
|
|
any(ProfileEvents['ExternalAggregationMerge']) >= 1 AND
|
|
any(ProfileEvents['ExternalAggregationCompressedBytes']) >= 100000 AND
|
|
any(ProfileEvents['ExternalAggregationUncompressedBytes']) >= 100000 AND
|
|
count() == 1,
|
|
'ok',
|
|
'fail: ' || toString(count()) || ' ' || toString(any(ProfileEvents))
|
|
)
|
|
FROM system.query_log WHERE current_database = currentDatabase()
|
|
AND log_comment = '02402_external_disk_mertrics/aggregation'
|
|
AND query ILIKE 'SELECT%2097152%' AND type = 'QueryFinish';
|
|
|
|
SELECT
|
|
if(
|
|
any(ProfileEvents['ExternalProcessingFilesTotal']) >= 1 AND
|
|
any(ProfileEvents['ExternalProcessingCompressedBytesTotal']) >= 100000 AND
|
|
any(ProfileEvents['ExternalProcessingUncompressedBytesTotal']) >= 100000 AND
|
|
any(ProfileEvents['ExternalJoinWritePart']) >= 1 AND
|
|
any(ProfileEvents['ExternalJoinMerge']) >= 0 AND
|
|
any(ProfileEvents['ExternalJoinCompressedBytes']) >= 100000 AND
|
|
any(ProfileEvents['ExternalJoinUncompressedBytes']) >= 100000 AND
|
|
count() == 1,
|
|
'ok',
|
|
'fail: ' || toString(count()) || ' ' || toString(any(ProfileEvents))
|
|
)
|
|
FROM system.query_log WHERE current_database = currentDatabase()
|
|
AND log_comment = '02402_external_disk_mertrics/join'
|
|
AND query ILIKE 'SELECT%2097152%' AND type = 'QueryFinish';
|
|
|
|
-- Do not check values because they can be not recorded, just existence
|
|
SELECT
|
|
CurrentMetric_TemporaryFilesForAggregation,
|
|
CurrentMetric_TemporaryFilesForJoin,
|
|
CurrentMetric_TemporaryFilesForSort
|
|
FROM system.metric_log
|
|
ORDER BY event_time DESC LIMIT 5
|
|
FORMAT Null;
|