cpu_synthetic.xml 7.5 KB
Newer Older
P
proller 已提交
1
<test>
P
proller 已提交
2 3 4
    <name>test_hits</name>
    <type>loop</type>

P
proller 已提交
5
    <stop_conditions>
P
proller 已提交
6
        <all_of>
7
            <iterations>3</iterations>
P
proller 已提交
8 9
            <min_time_not_changing_for_ms>10000</min_time_not_changing_for_ms>
        </all_of>
P
proller 已提交
10
        <any_of>
11
            <iterations>5</iterations>
P
proller 已提交
12
            <total_time_ms>60000</total_time_ms>
P
proller 已提交
13 14
        </any_of>
    </stop_conditions>
P
proller 已提交
15 16 17 18 19

    <main_metric>
        <min_time/>
    </main_metric>

P
proller 已提交
20 21 22 23
    <preconditions>
        <table_exists>test.hits</table_exists>
    </preconditions>

P
proller 已提交
24
<!-- 14. Некриптографическая хэш-функция для строк небольшой длины.
P
proller 已提交
25 26 27 28 29
В качестве данных в следующих тестах будут использованы поисковые фразы (SearchPhrase), URL и PageCharset.
Строка SearchPhrase непустая только в 6.8% случаев. Средняя длина непустой строки - 47 байт.
URL почти всегда непуст и его средняя длина - 77 байт.
PageCharset тоже почти всегда непуст, но его средняя длина поменьше - 6.2 байта. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(SearchPhrase)) SETTINGS max_threads = 1</query>
30
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(SearchPhrase))</query>
P
proller 已提交
31 32
<!-- 15. Некриптографическая хэш-функция для строк небольшой длины. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(farmHash64(SearchPhrase)) SETTINGS max_threads = 1</query>
33
<query>SELECT count() FROM test.hits WHERE NOT ignore(farmHash64(SearchPhrase))</query>
P
proller 已提交
34 35
<!-- 16. Некриптографическая хэш-функция для строк небольшой длины. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(metroHash64(SearchPhrase)) SETTINGS max_threads = 1</query>
36
<query>SELECT count() FROM test.hits WHERE NOT ignore(metroHash64(SearchPhrase))</query>
P
proller 已提交
37 38
<!-- 17. Криптографическая хэш-функция для строк. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(sipHash64(SearchPhrase)) SETTINGS max_threads = 1</query>
39
<query>SELECT count() FROM test.hits WHERE NOT ignore(sipHash64(SearchPhrase))</query>
P
proller 已提交
40 41
<!-- 18. Криптографическая хэш-функция для строк. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(MD5(SearchPhrase)) SETTINGS max_threads = 1</query>
42
<query>SELECT count() FROM test.hits WHERE NOT ignore(MD5(SearchPhrase))</query>
P
proller 已提交
43 44
<!-- 19. Криптографическая хэш-функция для строк.  -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(MD5(URL)) SETTINGS max_threads = 1</query>
45
<query>SELECT count() FROM test.hits WHERE NOT ignore(MD5(URL))</query>
P
proller 已提交
46 47
<!-- 20. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(URL)) SETTINGS max_threads = 1</query>
48
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(URL))</query>
P
proller 已提交
49 50
<!-- 21. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(sipHash64(URL)) SETTINGS max_threads = 1</query>
51
<query>SELECT count() FROM test.hits WHERE NOT ignore(sipHash64(URL))</query>
P
proller 已提交
52 53
<!-- 22. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(PageCharset)) SETTINGS max_threads = 1</query>
54
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(PageCharset))</query>
P
proller 已提交
55 56
<!-- 23. Поиск подстроки в строке. -->
<query>SELECT count() FROM test.hits WHERE URL LIKE '%metrika%' SETTINGS max_threads = 1</query>
57
<query>SELECT count() FROM test.hits WHERE URL LIKE '%metrika%'</query>
P
proller 已提交
58 59
<!-- 24. Более сложный поиск подстроки в строке. -->
<query>SELECT count() FROM test.hits WHERE positionCaseInsensitiveUTF8(URL, 'новости') != 0 SETTINGS max_threads = 1</query>
60
<query>SELECT count() FROM test.hits WHERE positionCaseInsensitiveUTF8(URL, 'новости') != 0</query>
P
proller 已提交
61 62
<!-- 25. Регексп. -->
<query>SELECT count() FROM test.hits WHERE match(URL, '^https?://(?:www\\.)?metri[kc]a\\.yandex\\.(?:ru|com|com\\.tr|ua|by|kz)/.+?2014') SETTINGS max_threads = 1</query>
63
<query>SELECT count() FROM test.hits WHERE match(URL, '^https?://(?:www\\.)?metri[kc]a\\.yandex\\.(?:ru|com|com\\.tr|ua|by|kz)/.+?2014')</query>
P
proller 已提交
64 65
<!-- 34. Сложная агрегация. -->
<query>SELECT SearchEngineID, SearchPhrase, RegionID FROM test.hits GROUP BY SearchEngineID, SearchPhrase, RegionID ORDER BY count() DESC LIMIT 10 SETTINGS max_threads = 1</query>
66
<query>SELECT SearchEngineID, SearchPhrase, RegionID FROM test.hits GROUP BY SearchEngineID, SearchPhrase, RegionID ORDER BY count() DESC LIMIT 10</query>
P
proller 已提交
67 68
<!-- 36. Функция для работы с датой и временем. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(toMonday(EventTime)) SETTINGS max_threads = 1</query>
69
<query>SELECT count() FROM test.hits WHERE NOT ignore(toMonday(EventTime))</query>
P
proller 已提交
70 71
<!-- 37. Функция для работы с URL. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(cutQueryString(URL)) SETTINGS max_threads = 1</query>
72
<query>SELECT count() FROM test.hits WHERE NOT ignore(cutQueryString(URL))</query>
P
proller 已提交
73 74
<!-- 38. Разные алгоритмы вычисления квантилей. -->
<query>SELECT quantilesIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits SETTINGS max_threads = 1</query>
75
<query>SELECT quantilesIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits</query>
P
proller 已提交
76 77
<!-- 39. Разные алгоритмы вычисления квантилей. -->
<query>SELECT quantilesTimingIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits SETTINGS max_threads = 1</query>
78
<query>SELECT quantilesTimingIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits</query>
P
proller 已提交
79 80
<!-- 40. Разные алгоритмы вычисления квантилей. -->
<query>SELECT quantilesExactIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits SETTINGS max_threads = 1</query>
81
<query>SELECT quantilesExactIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits</query>
P
proller 已提交
82 83
<!-- 41. Разные алгоритмы вычисления квантилей. -->
<query>SELECT quantilesTDigestIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits SETTINGS max_threads = 1</query>
84
<query>SELECT quantilesTDigestIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits</query>
P
proller 已提交
85 86
<!-- 42. Разные алгоритмы вычисления кардинальности. -->
<query>SELECT uniq(UserID) FROM test.hits SETTINGS max_threads = 1</query>
87
<query>SELECT uniq(UserID) FROM test.hits</query>
P
proller 已提交
88
<!-- 43. Разные алгоритмы вычисления кардинальности. -->
89 90
<query>SELECT uniqCombined(17)(UserID) FROM test.hits SETTINGS max_threads = 1</query>
<query>SELECT uniqCombined(17)(UserID) FROM test.hits</query>
P
proller 已提交
91 92
<!-- 44. Разные алгоритмы вычисления кардинальности. -->
<query>SELECT uniqExact(UserID) FROM test.hits SETTINGS max_threads = 1</query>
93
<query>SELECT uniqExact(UserID) FROM test.hits</query>
P
proller 已提交
94 95
<!-- 45. Что-то чуть более похожее на реальный запрос. -->
<query>SELECT RegionID, uniq(UserID) FROM test.hits GROUP BY RegionID SETTINGS max_threads = 1</query>
96
<query>SELECT RegionID, uniq(UserID) FROM test.hits GROUP BY RegionID</query>
P
proller 已提交
97 98
<!-- 47. Читаем и разжимаем все столбцы, и ничего с ними потом не делаем. -->
<query>SELECT count() FROM test.hits WHERE NOT ignore(*) SETTINGS max_threads = 1</query>
99
<query>SELECT count() FROM test.hits WHERE NOT ignore(*)</query>
P
proller 已提交
100 101

</test>