This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 0ae449f7328 [ci](perf) integration clickbench test into new performance pipeline (#29429) 0ae449f7328 is described below commit 0ae449f7328c26fb0aaa2d9685fe2ea89b32d3ec Author: Dongyang Li <hello_step...@qq.com> AuthorDate: Fri Jan 5 22:29:02 2024 +0800 [ci](perf) integration clickbench test into new performance pipeline (#29429) --- .licenserc.yaml | 2 +- regression-test/pipeline/common/doris-utils.sh | 12 +-- regression-test/pipeline/common/github-utils.sh | 45 ++++++++-- .../performance/clickbench/check-query-result.sh | 32 ++++++++ .../performance/clickbench/conf/be_custom.conf | 21 +++++ .../performance/clickbench/conf/fe_custom.conf | 7 ++ .../clickbench/conf/opt_session_variables.sql | 7 ++ .../performance/clickbench/queries-sort.sql | 43 ++++++++++ .../clickbench/query-result-target/doris-q1.result | 2 + .../query-result-target/doris-q10.result | 11 +++ .../query-result-target/doris-q11.result | 11 +++ .../query-result-target/doris-q12.result | 11 +++ .../query-result-target/doris-q13.result | 11 +++ .../query-result-target/doris-q14.result | 11 +++ .../query-result-target/doris-q15.result | 11 +++ .../query-result-target/doris-q16.result | 11 +++ .../query-result-target/doris-q17.result | 11 +++ .../query-result-target/doris-q18.result | 11 +++ .../query-result-target/doris-q19.result | 11 +++ .../clickbench/query-result-target/doris-q2.result | 2 + .../query-result-target/doris-q20.result | 5 ++ .../query-result-target/doris-q21.result | 2 + .../query-result-target/doris-q22.result | 11 +++ .../query-result-target/doris-q23.result | 11 +++ .../query-result-target/doris-q24.result | 11 +++ .../query-result-target/doris-q25.result | 11 +++ .../query-result-target/doris-q26.result | 11 +++ .../query-result-target/doris-q27.result | 11 +++ .../query-result-target/doris-q28.result | 26 ++++++ .../query-result-target/doris-q29.result | 26 ++++++ .../clickbench/query-result-target/doris-q3.result | 2 + .../query-result-target/doris-q30.result | 2 + .../query-result-target/doris-q31.result | 11 +++ .../query-result-target/doris-q32.result | 11 +++ .../query-result-target/doris-q33.result | 11 +++ .../query-result-target/doris-q34.result | 11 +++ .../query-result-target/doris-q35.result | 11 +++ .../query-result-target/doris-q36.result | 11 +++ .../query-result-target/doris-q37.result | 11 +++ .../query-result-target/doris-q38.result | 11 +++ .../query-result-target/doris-q39.result | 11 +++ .../clickbench/query-result-target/doris-q4.result | 2 + .../query-result-target/doris-q40.result | 11 +++ .../query-result-target/doris-q41.result | 11 +++ .../query-result-target/doris-q42.result | 11 +++ .../query-result-target/doris-q43.result | 11 +++ .../clickbench/query-result-target/doris-q5.result | 2 + .../clickbench/query-result-target/doris-q6.result | 2 + .../clickbench/query-result-target/doris-q7.result | 2 + .../clickbench/query-result-target/doris-q8.result | 19 +++++ .../clickbench/query-result-target/doris-q9.result | 11 +++ regression-test/pipeline/performance/compile.sh | 7 +- .../pipeline/performance/conf/be_custom.conf | 4 +- .../pipeline/performance/conf/fe_custom.conf | 5 +- regression-test/pipeline/performance/deploy.sh | 27 +++--- regression-test/pipeline/performance/prepare.sh | 40 ++++++--- .../pipeline/performance/run-clickbench.sh | 96 ++++++++-------------- regression-test/pipeline/performance/run-load.sh | 60 ++++++++------ regression-test/pipeline/performance/run-tpcds.sh | 19 +++-- regression-test/pipeline/performance/run-tpch.sh | 21 ++--- 60 files changed, 717 insertions(+), 155 deletions(-) diff --git a/.licenserc.yaml b/.licenserc.yaml index ea761f044f4..3f41200df2e 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -88,7 +88,7 @@ header: - "conf/mysql_ssl_default_certificate/client_certificate/client-cert.pem" - "conf/mysql_ssl_default_certificate/client_certificate/client-key.pem" - "regression-test/ssl_default_certificate/*" - - "regression-test/pipeline/performance/conf/session_variables" + - "regression-test/pipeline/performance/**" - "extension/beats/go.mod" - "extension/beats/go.sum" - "pytest/hdfs" diff --git a/regression-test/pipeline/common/doris-utils.sh b/regression-test/pipeline/common/doris-utils.sh index f90b9a077ae..f2436a11390 100644 --- a/regression-test/pipeline/common/doris-utils.sh +++ b/regression-test/pipeline/common/doris-utils.sh @@ -244,10 +244,6 @@ function check_tpcds_result() { check_tpch_result "$1" } -function check_clickbench_query_result() { - echo "TODO" -} - function check_clickbench_performance_result() { result_file="$1" if [[ -z "${result_file}" ]]; then return 1; fi @@ -260,10 +256,10 @@ function check_clickbench_performance_result() { # 单位是秒 cold_run_time_threshold=${cold_run_time_threshold:-200} hot_run_time_threshold=${hot_run_time_threshold:-55} - cold_run_sum=$(awk -F ',' '{sum+=$2} END {print sum}' result.csv) + cold_run_time=$(awk -F ',' '{sum+=$2} END {print sum}' result.csv) hot_run_time=$(awk -F ',' '{if($3<$4){sum+=$3}else{sum+=$4}} END {print sum}' "${result_file}") if [[ $(echo "${hot_run_time} > ${hot_run_time_threshold}" | bc) -eq 1 ]] || - [[ $(echo "${cold_run_sum} > ${cold_run_time_threshold}" | bc) -eq 1 ]]; then + [[ $(echo "${cold_run_time} > ${cold_run_time_threshold}" | bc) -eq 1 ]]; then echo "ERROR: cold_run_time ${cold_run_time} is great than the threshold ${cold_run_time_threshold}, or, hot_run_time ${hot_run_time} is great than the threshold ${hot_run_time_threshold}" @@ -275,10 +271,6 @@ function check_clickbench_performance_result() { fi } -function check_load_performance() { - echo "TODO" -} - get_session_variable() { if [[ ! -d "${DORIS_HOME:-}" ]]; then return 1; fi usage=" diff --git a/regression-test/pipeline/common/github-utils.sh b/regression-test/pipeline/common/github-utils.sh index 687d9c589b9..317667d15b2 100644 --- a/regression-test/pipeline/common/github-utils.sh +++ b/regression-test/pipeline/common/github-utils.sh @@ -50,36 +50,67 @@ function create_an_issue_comment() { function create_an_issue_comment_tpch() { local ISSUE_NUMBER="$1" - local COMMENT_BODY="$2" + local COMMENT_BODY_SUMMARY="$2" + local COMMENT_BODY_DETAIL="$3" local machine='aliyun_ecs.c7a.8xlarge_32C64G' COMMENT_BODY=" -TPC-H test result on machine: '${machine}', run with scripts in https://github.com/apache/doris/tree/master/tools/tpch-tools +<details> +<summary>TPC-H: <b>${COMMENT_BODY_SUMMARY}</b></summary> + \`\`\` -${COMMENT_BODY} +machine: '${machine}' +scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools +${COMMENT_BODY_DETAIL} \`\`\` +</details> " create_an_issue_comment "${ISSUE_NUMBER}" "${COMMENT_BODY}" } function create_an_issue_comment_tpcds() { local ISSUE_NUMBER="$1" - local COMMENT_BODY="$2" + local COMMENT_BODY_SUMMARY="$2" + local COMMENT_BODY_DETAIL="$3" local machine='aliyun_ecs.c7a.8xlarge_32C64G' COMMENT_BODY=" -TPC-DS test result on machine: '${machine}', run with scripts in https://github.com/apache/doris/tree/master/tools/tpcds-tools +<details> +<summary>TPC-DS: <b>${COMMENT_BODY_SUMMARY}</b></summary> + \`\`\` -${COMMENT_BODY} +machine: '${machine}' +scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools +${COMMENT_BODY_DETAIL} \`\`\` +</details> " create_an_issue_comment "${ISSUE_NUMBER}" "${COMMENT_BODY}" } function create_an_issue_comment_clickbench() { + local ISSUE_NUMBER="$1" + local COMMENT_BODY_SUMMARY="$2" + local COMMENT_BODY_DETAIL="$3" + local machine='aliyun_ecs.c7a.8xlarge_32C64G' + COMMENT_BODY=" +<details> +<summary>ClickBench: <b>${COMMENT_BODY_SUMMARY}</b></summary> + +\`\`\` +machine: '${machine}' +scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools +${COMMENT_BODY_DETAIL} +\`\`\` +</details> +" + create_an_issue_comment "${ISSUE_NUMBER}" "${COMMENT_BODY}" +} + +function create_an_issue_comment_load() { local ISSUE_NUMBER="$1" local COMMENT_BODY="$2" local machine='aliyun_ecs.c7a.8xlarge_32C64G' COMMENT_BODY=" -ClickBench test result on machine: '${machine}', run with scripts in https://github.com/apache/doris/tree/master/tools/clickbench-tools +Load test result on machine: '${machine}' \`\`\` ${COMMENT_BODY} \`\`\` diff --git a/regression-test/pipeline/performance/clickbench/check-query-result.sh b/regression-test/pipeline/performance/clickbench/check-query-result.sh new file mode 100755 index 00000000000..dec46e8ac6e --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/check-query-result.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# set -x +set +e + +if [[ ! -d query-result-actual ]]; then mkdir query-result-actual; fi + +QUERY_NUM=1 +while read -r query; do + echo "query${QUERY_NUM}: ${query}" + mysql -h"${host:-127.0.0.1}" -P"${query_port:-9030}" -uroot -D"${db_name:-clickbench}" -e"${query}" >"query-result-actual/doris-q${QUERY_NUM}.result" + QUERY_NUM=$((QUERY_NUM + 1)) +done <queries-sort.sql + +is_ok=true +for i in {1..43}; do + if ! diff -w <(tail -n +2 "query-result-target/doris-q${i}.result") <(tail -n +2 "query-result-actual/doris-q${i}.result") >/dev/null; then + if [[ "${i}" == 4 ]] && [[ $(sed -n '2p' "query-result-actual/doris-q${i}.result") == '2.528953029'* ]]; then + is_ok=true + else + is_ok=false + echo "ERRPR: query_${i} result is error" + echo "**** target result **********************************************" + cat "query-result-target/doris-q${i}.result" + echo "**** actual result **********************************************" + cat "query-result-actual/doris-q${i}.result" + echo "*****************************************************************" + break + fi + fi +done + +if ${is_ok}; then exit 0; else exit 1; fi diff --git a/regression-test/pipeline/performance/clickbench/conf/be_custom.conf b/regression-test/pipeline/performance/clickbench/conf/be_custom.conf new file mode 100644 index 00000000000..07f87dcaeb6 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/conf/be_custom.conf @@ -0,0 +1,21 @@ +priority_networks=127.0.0.1/24 +# master branch, branch_name=master +# branch-2.0 branch, branch_name=branch20 +storage_root_path=/data/doris-storage-${branch_name} +load_channel_memory_refresh_sleep_time_ms=1000 +soft_mem_limit_frac=1 +track_new_delete=false +streaming_load_max_mb=102400 +doris_scanner_thread_pool_thread_num=8 +tc_enable_aggressive_memory_decommit=false +enable_new_scan_node=false +#mem_limit=100% +mem_limit=90% +#write_buffer_size=1609715200 +write_buffer_size=1209715200 +load_process_max_memory_limit_percent=100 +#load_process_soft_mem_limit_percent=80 +disable_auto_compaction=true +disable_storage_page_cache=false +disable_chunk_allocator=false +enable_simdjson_reader = true diff --git a/regression-test/pipeline/performance/clickbench/conf/fe_custom.conf b/regression-test/pipeline/performance/clickbench/conf/fe_custom.conf new file mode 100644 index 00000000000..b3df52da7f1 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/conf/fe_custom.conf @@ -0,0 +1,7 @@ +priority_networks=127.0.0.1/24 +# master branch, branch_name=master +# branch-2.0 branch, branch_name=branch20 +meta_dir=/data/doris-meta-${branch_name} +stream_load_default_timeout_second=3600 +ignore_unknown_metadata_module=true +enable_full_auto_analyze=false diff --git a/regression-test/pipeline/performance/clickbench/conf/opt_session_variables.sql b/regression-test/pipeline/performance/clickbench/conf/opt_session_variables.sql new file mode 100644 index 00000000000..6392e20cca4 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/conf/opt_session_variables.sql @@ -0,0 +1,7 @@ +set global exec_mem_limit=34359738368; +set global parallel_fragment_exec_instance_num=16; +set global parallel_pipeline_task_num=16; +set global enable_single_distinct_column_opt=true; +set global enable_function_pushdown=true; +set global forbid_unknown_col_stats=false; +set global runtime_filter_mode=global; diff --git a/regression-test/pipeline/performance/clickbench/queries-sort.sql b/regression-test/pipeline/performance/clickbench/queries-sort.sql new file mode 100644 index 00000000000..221e08b8cf5 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/queries-sort.sql @@ -0,0 +1,43 @@ +SELECT COUNT(*) FROM hits; +SELECT COUNT(*) FROM hits WHERE AdvEngineID <> 0; +SELECT SUM(AdvEngineID), COUNT(*), AVG(ResolutionWidth) FROM hits; +SELECT AVG(UserID) FROM hits; +SELECT COUNT(DISTINCT UserID) FROM hits; +SELECT COUNT(DISTINCT SearchPhrase) FROM hits; +SELECT MIN(EventDate), MAX(EventDate) FROM hits; +SELECT AdvEngineID, COUNT(*) FROM hits WHERE AdvEngineID <> 0 GROUP BY AdvEngineID ORDER BY COUNT(*) DESC; +SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC, RegionID LIMIT 10; +SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESC,RegionID, SUM(AdvEngineID),AVG(ResolutionWidth),COUNT(DISTINCT UserID) LIMIT 10; +SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel <> '' GROUP BY MobilePhoneModel ORDER BY u DESC, MobilePhoneModel LIMIT 10; +SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel <> '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC, MobilePhone, MobilePhoneModel LIMIT 10; +SELECT SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC,SearchPhrase LIMIT 10; +SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY u DESC,SearchPhrase LIMIT 10; +SELECT SearchEngineID, SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase <> '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC,SearchEngineID, SearchPhrase LIMIT 10; +SELECT UserID, COUNT(*) FROM hits GROUP BY UserID ORDER BY COUNT(*) DESC,UserID LIMIT 10; +SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY COUNT(*) DESC,UserID, SearchPhrase LIMIT 10; +SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY COUNT(*) ASC,UserID, SearchPhrase LIMIT 10; +SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY COUNT(*) DESC,UserID, extract(minute FROM EventTime), SearchPhrase LIMIT 10; +SELECT UserID FROM hits WHERE UserID = 435090932899640449; +SELECT COUNT(*) FROM hits WHERE URL LIKE '%google%'; +SELECT SearchPhrase, MIN(URL), COUNT(*) AS c FROM hits WHERE URL LIKE '%google%' AND SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC,SearchPhrase, MIN(URL) LIMIT 10; +SELECT SearchPhrase, MIN(URL), MIN(Title), COUNT(*) AS c, COUNT(DISTINCT UserID) FROM hits WHERE Title LIKE '%Google%' AND URL NOT LIKE '%.google.%' AND SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC,SearchPhrase, MIN(URL), MIN(Title),COUNT(DISTINCT UserID) LIMIT 10; +SELECT WatchID,JavaEnable,Title,GoodEvent,EventTime,EventDate,CounterID,ClientIP,RegionID,UserID,CounterClass,OS,UserAgent,URL,Referer,IsRefresh,RefererCategoryID,RefererRegionID,URLCategoryID,URLRegionID,ResolutionWidth,ResolutionHeight,ResolutionDepth,FlashMajor,FlashMinor,FlashMinor2,NetMajor,NetMinor,UserAgentMajor,UserAgentMinor,CookieEnable,JavascriptEnable,IsMobile,MobilePhone,MobilePhoneModel,Params,IPNetworkID,TraficSourceID,SearchEngineID,SearchPhrase,AdvEngineID,IsArtifical,Wi [...] +SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime,SearchPhrase DESC LIMIT 10; +SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY SearchPhrase LIMIT 10; +SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime, SearchPhrase LIMIT 10; +SELECT CounterID, AVG(length(URL)) AS l, COUNT(*) AS c FROM hits WHERE URL <> '' GROUP BY CounterID HAVING COUNT(*) > 100000 ORDER BY l DESC,CounterID,c LIMIT 25; +SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC,k,c LIMIT 25; +SELECT SUM(ResolutionWidth), SUM(ResolutionWidth + 1), SUM(ResolutionWidth + 2), SUM(ResolutionWidth + 3), SUM(ResolutionWidth + 4), SUM(ResolutionWidth + 5), SUM(ResolutionWidth + 6), SUM(ResolutionWidth + 7), SUM(ResolutionWidth + 8), SUM(ResolutionWidth + 9), SUM(ResolutionWidth + 10), SUM(ResolutionWidth + 11), SUM(ResolutionWidth + 12), SUM(ResolutionWidth + 13), SUM(ResolutionWidth + 14), SUM(ResolutionWidth + 15), SUM(ResolutionWidth + 16), SUM(ResolutionWidth + 17), SUM(Resolutio [...] +SELECT SearchEngineID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase <> '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC,SearchEngineID, ClientIP,SUM(IsRefresh), AVG(ResolutionWidth) LIMIT 10; +SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase <> '' GROUP BY WatchID, ClientIP ORDER BY c DESC,WatchID, ClientIP,SUM(IsRefresh), AVG(ResolutionWidth) LIMIT 10; +SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC,WatchID, ClientIP,SUM(IsRefresh), AVG(ResolutionWidth) LIMIT 10; +SELECT URL, COUNT(*) AS c FROM hits GROUP BY URL ORDER BY c DESC,URL LIMIT 10; +SELECT 1, URL, COUNT(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC,URL LIMIT 10; +SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, COUNT(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10; +SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND IsRefresh = 0 AND URL <> '' GROUP BY URL ORDER BY PageViews DESC,URL LIMIT 10; +SELECT Title, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND IsRefresh = 0 AND Title <> '' GROUP BY Title ORDER BY PageViews DESC,Title LIMIT 10; +SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND IsRefresh = 0 AND IsLink <> 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC,URL LIMIT 10 OFFSET 1000; +SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END AS Src, URL AS Dst, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND IsRefresh = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC,TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst LIMIT 10 OFFSET 1000; +SELECT URLHash, EventDate, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND IsRefresh = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 3594120000172545465 GROUP BY URLHash, EventDate ORDER BY PageViews DESC,URLHash, EventDate LIMIT 10 OFFSET 100; +SELECT WindowClientWidth, WindowClientHeight, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND IsRefresh = 0 AND DontCountHits = 0 AND URLHash = 2868770270353813622 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC,WindowClientWidth, WindowClientHeight LIMIT 10 OFFSET 10000; +SELECT DATE_FORMAT(EventTime, '%Y-%m-%d %H:%i:00') AS M, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-14' AND EventDate <= '2013-07-15' AND IsRefresh = 0 AND DontCountHits = 0 GROUP BY DATE_FORMAT(EventTime, '%Y-%m-%d %H:%i:00') ORDER BY DATE_FORMAT(EventTime, '%Y-%m-%d %H:%i:00'),PageViews LIMIT 10 OFFSET 1000; diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q1.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q1.result new file mode 100644 index 00000000000..1891f04fe00 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q1.result @@ -0,0 +1,2 @@ +count(*) +99997497 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q10.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q10.result new file mode 100644 index 00000000000..ce94e92746c --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q10.result @@ -0,0 +1,11 @@ +RegionID sum(`AdvEngineID`) c avg(`ResolutionWidth`) count(DISTINCT `UserID`) +229 2077656 18295832 1506.0852431307851 2845673 +2 441662 6687587 1479.8386542111527 1081016 +208 285925 4261812 1285.2593246722286 831676 +169 100887 3320229 1465.9073732564832 604583 +32 81498 1843518 1538.0376568061718 216010 +34 161779 1792369 1548.360152401654 299479 +184 55526 1755192 1506.8082967561384 322661 +42 108820 1542717 1587.1085208758313 243181 +107 120470 1516690 1548.6028970982863 272448 +51 98212 1435578 1579.8860354505293 211505 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q11.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q11.result new file mode 100644 index 00000000000..6d39c05e960 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q11.result @@ -0,0 +1,11 @@ +MobilePhoneModel u +iPad 1090347 +iPhone 45758 +A500 16046 +N8-00 5565 +iPho 3300 +ONE TOUCH 6030A 2759 +GT-P7300B 1907 +3110000 1871 +GT-I9500 1598 +eagle75 1492 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q12.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q12.result new file mode 100644 index 00000000000..727e1a4329d --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q12.result @@ -0,0 +1,11 @@ +MobilePhone MobilePhoneModel u +1 iPad 931038 +5 iPad 48385 +6 iPad 29710 +7 iPad 28391 +118 A500 16005 +6 iPhone 14516 +26 iPhone 13566 +10 iPad 11433 +32 iPad 9503 +13 iPad 9417 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q13.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q13.result new file mode 100644 index 00000000000..7d4cb5d5a47 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q13.result @@ -0,0 +1,11 @@ +SearchPhrase c +карелки 70263 +албатрутдин 34675 +смотреть онлайн 24580 +смотреть онлайн бесплатно 21647 +смотреть 19707 +мангу в зарабей грама 19195 +дружке помещение 17284 +galaxy table 16746 +экзоидные 16620 +сколько мытищи 12317 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q14.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q14.result new file mode 100644 index 00000000000..0cd4e5f4e09 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q14.result @@ -0,0 +1,11 @@ +SearchPhrase u +карелки 23673 +смотреть онлайн 19747 +албатрутдин 18394 +смотреть онлайн бесплатно 17553 +смотреть 14603 +экзоидные 14529 +мангу в зарабей грама 14198 +сколько мытищи 9007 +дружке помещение 8792 +комбинирование смотреть 7572 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q15.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q15.result new file mode 100644 index 00000000000..eca77cb9205 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q15.result @@ -0,0 +1,11 @@ +SearchEngineID SearchPhrase c +2 карелки 46258 +2 мангу в зарабей грама 18871 +2 смотреть онлайн 16905 +3 албатрутдин 16748 +2 смотреть онлайн бесплатно 14909 +2 албатрутдин 13716 +2 экзоидные 13414 +2 смотреть 13108 +3 карелки 12815 +2 дружке помещение 11946 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q16.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q16.result new file mode 100644 index 00000000000..686f5e81aa7 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q16.result @@ -0,0 +1,11 @@ +UserID count(*) +1313338681122956954 29097 +1907779576417363396 25333 +2305303682471783379 10597 +7982623143712728547 7584 +6018350421959114808 6678 +7280399273658728997 6411 +1090981537032625727 6197 +5730251990344211405 6019 +835157184735512989 5211 +770542365400669095 4906 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q17.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q17.result new file mode 100644 index 00000000000..65c303deab5 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q17.result @@ -0,0 +1,11 @@ +UserID SearchPhrase count(*) +1313338681122956954 29097 +1907779576417363396 25333 +2305303682471783379 10597 +7982623143712728547 6669 +7280399273658728997 6408 +1090981537032625727 6196 +5730251990344211405 6019 +6018350421959114808 5990 +835157184735512989 5209 +770542365400669095 4906 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q18.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q18.result new file mode 100644 index 00000000000..82ffbe4d38e --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q18.result @@ -0,0 +1,11 @@ +UserID SearchPhrase count(*) +-9223360918607336854 1 +-9223360918607336854 мультики в театр по полтава психолодильное животный дома 1 +-9223346024853429862 1 +-9223344277659414581 1 +-9223308501352264398 фэс серии охорис интернет водительсинка 1.5 гостин 2 серии форту в красноярск 1 +-9223274299909755627 люкс ижевском 1 +-9223260604755921098 бэу бесплатно 1 +-9223260604755921098 лифт выжигания белокуринфо 1 +-9223260604755921098 лифтов большие кедро заполиров 1 +-9223260604755921098 марина газоприместации 1 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q19.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q19.result new file mode 100644 index 00000000000..bf9c244d9e0 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q19.result @@ -0,0 +1,11 @@ +UserID m SearchPhrase count(*) +1313338681122956954 31 589 +1313338681122956954 28 578 +1313338681122956954 29 572 +1313338681122956954 33 567 +1313338681122956954 27 557 +1313338681122956954 32 554 +1313338681122956954 30 552 +1313338681122956954 34 546 +1313338681122956954 26 540 +1313338681122956954 10 539 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q2.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q2.result new file mode 100644 index 00000000000..5823f4396a5 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q2.result @@ -0,0 +1,2 @@ +count(*) +630500 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q20.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q20.result new file mode 100644 index 00000000000..eeb65cd730e --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q20.result @@ -0,0 +1,5 @@ +UserID +435090932899640449 +435090932899640449 +435090932899640449 +435090932899640449 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q21.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q21.result new file mode 100644 index 00000000000..fba96700a59 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q21.result @@ -0,0 +1,2 @@ +count(*) +15911 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q22.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q22.result new file mode 100644 index 00000000000..7a1f0206af8 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q22.result @@ -0,0 +1,11 @@ +SearchPhrase min(`URL`) c +прокур горбуши http://smeshariki.ru/googleTBR%26ad 60 +римском качественны for cry http:%2F%2Fwwww.googlead&aktional 24 +стоит похуден http://smeshariki.ru/index.ua/doc/22229/googlead%26aktion=2&input_bdsmpeople.ru/real-estate=0&state=2013070519381 23 +испанч боб новости дейская http://smeshariki.ru/recipes/show/6840872&trafkey=6d0fc12c54059/loukhaAUXI&where=all&filter/Mitsubishi/google 21 +прокур готовки видеоэндоменя http://smeshariki.ru/googleTBR%26ad 14 +прокур гипоаллеры http://smeshariki.ru/googleTBR%26ad 11 +камедицинск автомобильних условодки на в крем http://video.yandex.php?com=google.ru/arts/searchAutoSearch 9 +универ 11.6/1366x768/4096mb ddressary of thing http://smeshariki.ru/index.ua/syllanet.ru/business/hotels.turizm.ru/igooglead%26ar_sliceid%3D1216629/0/&&puid2=15&lo=http 8 +вспомню о названы монстэр http://tienskaia-moda-zhienskaia-obl.irr.ru/ch/google-c-38208 7 +купить трудовані резюме мертный дина кабинский лежит заднее устан http://video.yandex.php?com=google.ru/arts/searchAutoSearch 7 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q23.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q23.result new file mode 100644 index 00000000000..93f79b17291 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q23.result @@ -0,0 +1,11 @@ +SearchPhrase min(`URL`) min(`Title`) c count(DISTINCT `UserID`) +винки медведь смотреть фильмы 2013 смотреть http://smeshariki.ru/a-folder-4/#page-3.2.1; WOW64; Edition=1&input_action=2011/page_type=profiles/88436/currency видеорегионалу Google 801 600 +секретарь оверка все серии порт http://kinopoisk.ru/a-albums_scroll_to_auto_id=227&option/vacancies/liver.ru/cgi-bin/click.cgi%3Fsid%3D158197%26ad @дневники Google Player 1.2.5 л, 214 182 +винки медведь смотреть фильмы чеческия http://smeshariki.ru/a-folder-4/#page-3.2.1; WOW64; Edition=1&input_action=2013-topy%2Fproduct_price_ot=&price видеорегионалу Gooddock hotmail Google на толстовая комфорталенны Berlingo по давлений 138 121 +игры для дер блич http://kinopoisk.ru/a-albums_scroll_to_auto_id=363064472354&lb_id=1559843 Легко на купить автозаврам телась Google Anaissage_599-61 «Оверлок колепный рецепт: Твери 114 106 +винки медведь смотреть объятный ветерин http://smeshariki.ru/a-folder-4/#page-3.2.1; WOW64; Edition=1&input_age17/#page/Jeep,Lexus/rodimomu_vsegoddelki.ru/carbuznyj-90472-0-014031818%26height%3D901634571 видеорегионалу Google - Доставщиков и актрическая 102 85 +кино 2009) смотреть онлайн бессмерти мк в россипед http://domchelove.ru/#!/search/page Далее о коллекции в GIMI LANCIA 0K3Y318104 продать Google, go-go в регистрии — Мой Крым 90 70 +винки медведь смотреть http://smeshariki.ru/a-folder-4/#page-3.2.1; WOW64; Edition=1&input_active/?do=showCampState/renatzija-na-brietielkakh%2F&ti=С видеорегионалу Google - модного языке - Пульс 87 56 +тайны избавитель в владимира для университет масляться http://smeshariki.ru/a-folder=cars/article=199980150195,0.107736/detail.aspx#location=search?text=asc&maxyear=2001216629%26sob%3D3159&input_who1=1&cid=577&oki=1&op_product_id=25&pvno=2&evlg=VC,2;VL Амитин обувь - Яндекс.Видео+текст песен Google.com 64 56 +коптимиквиды юриста с роуз рая https://produkty%2Fpulove.ru/booklyattion-war-sinij-9182/women Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган 45 12 +винки медведь смотрейлера начальник http://smeshariki.ru/a-folder-4/#page-3.2.1; WOW64; Edition=1&input_active/ видеорегионалу Google - модных Челябинск 40 35 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q24.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q24.result new file mode 100644 index 00000000000..4c7ffb0d1a7 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q24.result @@ -0,0 +1,11 @@ +WatchID JavaEnable Title GoodEvent EventTime EventDate CounterID ClientIP RegionID UserID CounterClass OS UserAgent URL Referer IsRefresh RefererCategoryID RefererRegionID URLCategoryID URLRegionID ResolutionWidth ResolutionHeight ResolutionDepth FlashMajor FlashMinor FlashMinor2 NetMajor NetMinor UserAgentMajor UserAgentMinor CookieEnable JavascriptEnable IsMobile MobilePhone MobilePhoneModel Params IPNetworkID TraficSourceID SearchEngineID SearchPhrase AdvEngineID IsArtifical WindowCli [...] +7675678523794456216 1 Glavnaya gorand. Цветные объявлений районе, вером 1 2013-07-01 20:01:09 2013-07-02 64469 1840073959 2 3714843517822510735 0 44 5 http://e96.ru/search/page.googleTBR%26ad%3D0%26rnd%3D158197%26anbietersburg http://bdsmpeople.ru/obrazom_position/?page 0 13593 158 13606 216 1638 1658 22 15 7 700 0 0 22 nA 1 1 0 0 4005373 -1 0 0 0 1052 775 135 2013-07-02 10:20:22 0 0 0 0 windows 1601 0 0 0 0 213893614 0 0 0 0 0 6 2013-07-02 11:58:11 0 0 0 0 0 1412515749 63522 -1 12 S [...] 0 0 5972490271588207794 1369713899219085694 0 +6147260061318473746 1 Glavnaya gorand. Цветные объявлений районе, вером 1 2013-07-01 20:01:29 2013-07-02 64469 1840073959 2 3714843517822510735 0 44 5 http://e96.ru/search/page.googleTBR%26ad%3D0%26rnd%3D158197%26anbietersburg http://bdsmpeople.ru/obrazom_position/?page 0 13593 158 13606 216 1638 1658 22 15 7 700 0 0 22 D� 1 1 0 0 4005373 -1 0 0 0 1052 775 135 2013-07-02 10:20:42 0 0 0 0 windows 1601 0 0 0 0 810892658 0 0 0 0 0 6 2013-07-02 11:58:25 0 0 0 0 0 1412515749 63522 -1 13 S [...] 0 0 5972490271588207794 1369713899219085694 0 +5972689683963797854 1 Glavnaya gorand. Цветные объявлений районе, вером 1 2013-07-01 20:02:11 2013-07-02 64469 1840073959 2 3714843517822510735 0 44 5 http://e96.ru/search/page.googleTBR%26ad%3D0%26rnd%3D158197%26anbietersburg http://bdsmpeople.ru/obrazom_position/?page 0 13593 158 13606 216 1638 1658 22 15 7 700 0 0 22 D� 1 1 0 0 4005373 -1 0 0 0 1052 775 135 2013-07-02 10:21:16 0 0 0 0 windows 1601 0 0 0 0 47015096 0 0 0 0 0 6 2013-07-02 11:58:50 0 0 0 0 0 1412515749 63522 -1 13 S0 [...] 0 0 5972490271588207794 1369713899219085694 0 +8008688361303225116 1 Скачать онлайн играй! - Туризма - Крымский тренчкоты в интернет магазин Wildberries.ru (Работа - IRR.ru - модных словариумных 1 2013-07-01 20:12:01 2013-07-02 63217 1975817788 229 804133623150786791 1 44 7 http://bjdswaps.google-photo http://loveche.html?ctid 0 12409 20 10093 22 1749 867 23 15 3 700.224 0 0 15 D� 1 1 0 0 3056753 -1 0 0 0 1608 662 135 2013-07-02 06:19:55 4 1 16561 0 windows 1 0 0 0 5347008031302181363 766531830 0 0 0 0 0 5 2013-07-02 12:00:25 31 [...] 0 0 -2736470446903004689 7116991598850737408 0 +7436461208655480623 1 Компании Вино в хорошие 1 2013-07-01 20:32:24 2013-07-02 35534 1741555497 39 7082047337377160280 0 44 5 http://rsdn.ru/catalog/cifrovye-advertisement=little&category=22&input_bdsmpeople.ru/index,google.ru/news/39826 http://kalina?block/?inst_the_book.php?cPath=40_57470493958402/ 0 10634 20 0 0 1996 1781 37 15 7 700 0 0 22 D� 1 1 0 0 808950 5 0 0 0 1261 1017 433 2013-07-02 19:03:12 4 1 16561 0 windows-1251;charset 1601 1 0 0 6804199628189316872 626511463 0 0 0 1 [...] 0 0 8931346360692564721 1971436513446935197 0 +5564518777317455184 0 «set» в пробег аппах и обслуживатизиров 1 2013-07-01 20:44:29 2013-07-02 5822 1920787234 32 3712346975274085073 1 2 3 http://auto_gruppy/christikha/hotel=-1&trafkey=605&from=&power_name=Платья&produkty%2Furl.google.ru/index http://rmnt.ru/cars/passenger/hellardous/42/~37/?suggest&id=3869551753&custom=0&undefined/undefined/under=28036,5;362;108;16762643539 0 8563 21482 9822 18528 1638 1658 23 15 7 700 0 0 16 D� 1 1 0 0 207348 -1 0 0 0 1509 733 135 2013-07-02 07:33 [...] 0 0 7820066807630413322 -3258566084785303139 0 +7381524648140977766 1 Ploshchad\\' stolitsi zwy 110911923, Г официальная Прессы и Огонек 1 2013-07-01 21:01:46 2013-07-02 63217 1638850281 59 1564939829982760596 1 44 5 http://bjdleaksbrand=bpc bonprix%2F12.02&he=1024&location=pm;f=inbox;pmsg_1733/page.google http://loveplanet.ru/url?sa=t&rct 0 12409 20 10093 22 1996 1666 37 15 7 700 0 0 22 D� 1 1 0 0 2059788 -1 0 0 0 1261 1206 433 2013-07-02 10:04:38 0 0 0 0 windows 1 0 0 0 0 827020970 0 0 0 0 0 5 2013-07-02 18:53:56 0 0 0 0 0 20014 [...] 0 0 1384301141639030267 9047048983006699504 0 +8614832219462424183 1 Модель для сумки - регеш (Россия) 1 2013-07-01 21:19:23 2013-07-02 3035 2022088895 38 2590751384199385434 1 2 88 http://smeshariki.ru/googleTBR%26ar_ntype=citykurortmag http://holodilnik.ru/GameMain.aspx?color=0&choos&source=web&cd 0 10271 158 13384 216 1917 879 37 15 7 700 0 0 1 D� 1 1 0 0 3991944 -1 0 0 0 746 464 322 2013-07-02 08:44:30 0 0 0 0 windows-1251;charset 1 0 0 0 7607749204513951316 427646581 0 0 0 0 0 5 2013-07-01 23:19:17 50 2 3 0 30 1146019198 -1 [...] 0 0 1157471009075867478 1000799766482180932 0 +7168314068394418899 1 по полиция +опытовой рецензии, 1 2013-07-01 21:22:40 2013-07-02 35534 -1420082055 11579 4822773326251181180 0 2 7 http:%2F%2Fsapozhki-advertime-2/#page.google/dodge http://saint-peters-total=меньше 100007&text=b.akhua_deckaya-look/time-2/#page=3&oprnd=6817922197946&ei=JtHTUYWRCqXA&bvm=bv.49784469,d.ZWU&cad=rjt&fu=0&type_id=172&msid=1&marka=88&text=krasnaia-moda 0 14550 952 8565 375 1304 978 37 15 4 700.224 2 7 13 D� 1 1 0 0 2675432 3 3 dave kino 2013 года в ростоп [...] 0 0 -4470345086215748575 -5322637665780806659 0 +8235569889353442646 1 1 2013-07-01 21:22:53 2013-07-02 35534 -1420082055 11579 4822773326251181180 0 2 7 http:%2F%2Fsapozhki-advertime-2/#page.google/dodge 0 0 0 8565 375 1304 978 37 15 4 700.224 2 7 13 D� 1 1 0 0 2675432 0 0 0 1 1972 778 135 2013-07-01 21:05:22 4 1 16561 0 windows 1601 0 0 1 6494516778257365839 393719418 0 0 0 1 0 5 2013-07-02 16:28:24 31 2 2 14851 1 -1016483843 61823 -1 2 S0 �\\f 0 318 0 0 0 0 0 0 0 NH 0 0 -296158784638538920 -5322637665780806659 0 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q25.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q25.result new file mode 100644 index 00000000000..89b52be5e8a --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q25.result @@ -0,0 +1,11 @@ +SearchPhrase +фильм небольшой бизнеса североятно +симптомы регистратов +ночно китая женщины +galaxy s4 zoom фильм +слон.руб., д. а.л. конфигурды по оргатства мультет +скачать читалию в духовке +расписание мультиварка для +отдыха чем прокат +компьютерапии серия нарий +брита ганам котлы на шерлок diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q26.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q26.result new file mode 100644 index 00000000000..e30ee09f4c2 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q26.result @@ -0,0 +1,11 @@ +SearchPhrase + береж + за русский стил видео какой + завод тандалищные прода + заочное по земли в обрезни и метро + заочное сад цены нарощения музыка визу + зве + земные огурцы раб + золотой сайт samsung + прав + светы женске 2 сезон diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q27.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q27.result new file mode 100644 index 00000000000..12c4e72e9c0 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q27.result @@ -0,0 +1,11 @@ +SearchPhrase +galaxy s4 zoom фильм +ночно китая женщины +симптомы регистратов +фильм небольшой бизнеса североятно +авом констеть ребенка краево +анапа оперевянные волшебную +брита ганам котлы на шерлок +компьютерапии серия нарий +отдыха чем прокат +расписание мультиварка для diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q28.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q28.result new file mode 100644 index 00000000000..80350d269ea --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q28.result @@ -0,0 +1,26 @@ +CounterID l c +233773 469.15431297456672 2938865 +245438 271.78534028284895 2510103 +122612 238.63990921114592 3574007 +234004 204.27835414397049 238660 +1634 197.8320354918649 323229 +786 186.75131919553962 120528 +114157 142.91515101105318 216408 +515 126.22661275500828 146907 +256004 125.3675852481615 858171 +95427 120.2673587920044 374306 +199550 109.81342052808459 7115413 +220992 105.85529726210743 494614 +196239 98.348608338370056 163797 +62 93.156611799769692 738150 +96948 92.742474620859241 396093 +188878 91.982019115507157 311998 +249603 91.880066486598793 120325 +3922 87.836801132956708 8527069 +191697 86.9569081691587 124664 +97467 84.294081324612364 131178 +186300 83.971374138539 802561 +146891 77.774166261899339 605286 +38 76.438409122240387 507770 +230962 76.303670304864 169223 +77639 75.384984308614321 253961 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q29.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q29.result new file mode 100644 index 00000000000..1b8b612d7dd --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q29.result @@ -0,0 +1,26 @@ +k l c MIN(Referer) +svpressa.ru 307.97526863099216 242526 http://svpressa.ru/ +msuzie-showforumdisplay 263.32192343919291 183671 http://msuzie-showforumdisplay/63/~2/?name=&cost_neu%3D400%26retpath=default777TWCWkI9lalUwTXpJMU1q +saint-peters-total=меньше 80 242.52264612008778 200520 http://saint-peters-total=меньше 80/cash/station=search&input_age1=&int[2274/trashbox.ru/details&cad=rjt&fu=0&input_who1=2&input_who1=2&input_city-4400047.html?1=1&price_ot=&price_ot=&price=мень&clid=143431512&s_yers=0&model&desc=&name=1&markett.ru%2Frenazheltyj-95692465&text=поздравстраницу&clid=4405404/menu_29.html&ei=UIX1UZTFNJTI0ci8guSn3tW.pl?cmd=showthreadreplies=978-4121-469171&history47/11/?from=&district +domics 212.92562880641779 326094 http://domics/825179.11931861234499792 +e96.ru 210.08849973411719 1019246 http://e96.ru/%3Ffrom]=&input_act[count_num=0&dff=arian-carrina1201517&cad=rjt&fu=0&input_state/apartments-sale/list.htm?size=30&input_with_photo-takovo-zuevo-shpilki.ru/real.nn.ru/yandex.ua/searchAuto=on&input_who1=2&input_online.ru/clck/51cbd&ll=&top=http://loveplane=42621/page9 +gadgets.irr.ru 131.95831117211404 349710 https://gadgets.irr.ru/2jmj7l5rSw0yVb +google.ru 109.23993676876725 2158427 http://google.ru/ +go.mail 108.63789748542318 8227786 http://go.mail/04/detskaia-moda-zhiensmed +msouz.ru 106.10549947974312 301774 http://msouz.ru/?ffshop +state=19945206 105.64595424793234 512414 http://state=19945206/foto-4/login%20NoTs3M&where=all&filmId=u8aGGqtWs3M&where=all&server=sc.cheloveplanet.ru/forum.little&categoriya/muzhskaya_istory.com/demii-malchik_148_4055074241537][to]=&input_activalry: A Love&where=all&text=купить florer&aktion/loansert перевозобности&site_id=197&text=добавь лазерногорский тайская полупая автомобильника&v=1414-resp_desyachnyeprague +loveplanet.ru 104.60110161772997 461140 http://loveplanet.ru/%3Faw_opel/page=2013 +bonprix.ru 104.41555808573025 1125087 http://bonprix.ru/ +novjob.ru 96.753316447323925 133049 http://novjob.ru/ +cn.ru 95.630391016643273 124675 http://cn.ru/GameMain.aspx#catalog/100523&tails.xml?market_pc.html?pid=9403&lr=47&msgid=36305f39386 +geomethiettai.ru 94.7878649320174 115912 https://geomethiettai.ru/GameMain.aspx?group=houses/list=266559j7077&num=7&prune_day=lastdiscussd59394303&price_ot=&priceup&page3/sankt-petushhiblock +kino 90.275447606522448 120139 http://kino/6/21/2/women.asp?whichpage4/#oversion=unreadm&uid +yaroslavens.ru 90.171114410690635 124595 http://yaroslavens.ru/main.aspx#catalog%2F1004-1100000147-otvet/actions/dislocal +mysw.info 89.685400470867364 984566 http://mysw.info/ +m.myloveplanet.ru 88.7325696488195 151546 http://m.myloveplanet.ru/ +povarenok.ru 83.968890699665778 144812 http://povarenok.ru/ +gorod 80.330756448233515 110728 http://gorod/%3Fauto.ria.ua%2Fjob +yandsearch 80.215351465625886 245970 http://www.yandsearch/rooms=1/page2 +myloveplanet.ru 80.080980629758912 110582 http://myloveplanet.ru/#associety/auto +tambov.irr.ru 77.871520179628192 315318 http://tambov.irr.ru/0/c1/tgFtaeLDK0yb01A7xvQF08sjCFqQxn51 +kurortmag.ru 75.748930853256383 155264 http://kurortmag.ru/ \ No newline at end of file diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q3.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q3.result new file mode 100644 index 00000000000..bd34bad0128 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q3.result @@ -0,0 +1,2 @@ +sum(`AdvEngineID`) count(*) avg(`ResolutionWidth`) +7280088 99997497 1513.4879349030107 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q30.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q30.result new file mode 100644 index 00000000000..5e48aa6bab1 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q30.result @@ -0,0 +1,2 @@ +sum(`ResolutionWidth`) sum(`ResolutionWidth` + 1) sum(`ResolutionWidth` + 2) sum(`ResolutionWidth` + 3) sum(`ResolutionWidth` + 4) sum(`ResolutionWidth` + 5) sum(`ResolutionWidth` + 6) sum(`ResolutionWidth` + 7) sum(`ResolutionWidth` + 8) sum(`ResolutionWidth` + 9) sum(`ResolutionWidth` + 10) sum(`ResolutionWidth` + 11) sum(`ResolutionWidth` + 12) sum(`ResolutionWidth` + 13) sum(`ResolutionWidth` + 14) sum(`ResolutionWidth` + 15) sum(`ResolutionWidth` + 16) sum(`ResolutionWidth` + 17) su [...] +151345005230 151445002727 151545000224 151644997721 151744995218 151844992715 151944990212 152044987709 152144985206 152244982703 152344980200 152444977697 152544975194 152644972691 152744970188 152844967685 152944965182 153044962679 153144960176 153244957673 153344955170 153444952667 153544950164 153644947661 153744945158 153844942655 153944940152 154044937649 154144935146 154244932643 154344930140 154444927637 154544925134 154644922631 154744920128 154844917625 154944915122 15504491261 [...] diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q31.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q31.result new file mode 100644 index 00000000000..ea8efe7f2b7 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q31.result @@ -0,0 +1,11 @@ +SearchEngineID ClientIP c sum(`IsRefresh`) avg(`ResolutionWidth`) +2 1138507705 1633 35 1408.0122473974282 +2 1740861572 1331 28 1577.9459053343351 +2 -807147100 1144 35 1553.1984265734266 +2 -497906719 1140 36 1543.4140350877192 +2 -1945757555 1105 30 1557.387330316742 +2 -1870623097 1102 31 1555.6588021778584 +2 -631062503 1083 31 1581.8171745152354 +2 -465813166 1082 30 1541.2532347504621 +2 -1743596151 1080 24 1559.8092592592593 +2 -1125673878 1058 22 1587 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q32.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q32.result new file mode 100644 index 00000000000..4aa7e67575f --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q32.result @@ -0,0 +1,11 @@ +WatchID ClientIP c sum(`IsRefresh`) avg(`ResolutionWidth`) +4611686071420045196 1618475002 1 0 1368 +4611686270165580596 1773698398 1 0 1996 +4611686294110223561 1593993174 1 0 1368 +4611686705865451788 -954492450 1 0 548 +4611687123803616825 -1169210775 1 0 1990 +4611687333949199458 2029546627 1 0 1368 +4611687377885419452 286029700 1 0 1990 +4611687393794238663 -1176766019 1 0 1368 +4611687496390261055 77438170 1 0 1638 +4611688027162466482 -1294239990 1 0 1750 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q33.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q33.result new file mode 100644 index 00000000000..e8b52dce9e4 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q33.result @@ -0,0 +1,11 @@ +WatchID ClientIP c sum(`IsRefresh`) avg(`ResolutionWidth`) +6655575552203051303 1611957945 2 0 1638 +7224410078130478461 -776509581 2 0 1368 +7904046282518428963 1509330109 2 0 1368 +8566928176839891583 -1402644643 2 0 1368 +4611686071420045196 1618475002 1 0 1368 +4611686075276949366 1754185883 1 0 1368 +4611686093393191411 982574472 1 0 1750 +4611686114854231582 813478092 1 0 2038 +4611686133577478679 1628368895 1 0 1638 +4611686211212249819 1575448609 1 0 1917 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q34.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q34.result new file mode 100644 index 00000000000..7f440019a7d --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q34.result @@ -0,0 +1,11 @@ +URL c +http://liver.ru/belgorod/page/1006.jки/доп_приборы 3288173 +http://kinopoisk.ru 1625250 +http://bdsm_po_yers=0&with_video 791465 +http://video.yandex 582400 +http://smeshariki.ru/region 514984 +http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with 507995 +http://liver.ru/place_rukodel=365115eb7bbb90 359893 +http://kinopoisk.ru/vladimir.irr.ru 354690 +http://video.yandex.ru/search/?jenre=50&s_yers 318979 +http://tienskaia-moda 289355 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q35.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q35.result new file mode 100644 index 00000000000..f31fb6921e8 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q35.result @@ -0,0 +1,11 @@ +1 URL c +1 http://liver.ru/belgorod/page/1006.jки/доп_приборы 3288173 +1 http://kinopoisk.ru 1625250 +1 http://bdsm_po_yers=0&with_video 791465 +1 http://video.yandex 582400 +1 http://smeshariki.ru/region 514984 +1 http://auto_fiat_dlya-bluzki%2F8536.30.18&he=900&with 507995 +1 http://liver.ru/place_rukodel=365115eb7bbb90 359893 +1 http://kinopoisk.ru/vladimir.irr.ru 354690 +1 http://video.yandex.ru/search/?jenre=50&s_yers 318979 +1 http://tienskaia-moda 289355 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q36.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q36.result new file mode 100644 index 00000000000..15e5e09df7e --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q36.result @@ -0,0 +1,11 @@ +ClientIP `ClientIP` - 1 `ClientIP` - 2 `ClientIP` - 3 c +-39921974 -39921975 -39921976 -39921977 47008 +-1698104457 -1698104458 -1698104459 -1698104460 29121 +-1175819552 -1175819553 -1175819554 -1175819555 25333 +1696638182 1696638181 1696638180 1696638179 20220 +1138507705 1138507704 1138507703 1138507702 15778 +-927025522 -927025523 -927025524 -927025525 12768 +-1262139876 -1262139877 -1262139878 -1262139879 11348 +1740861572 1740861571 1740861570 1740861569 11314 +-807147100 -807147101 -807147102 -807147103 9880 +-631062503 -631062504 -631062505 -631062506 9718 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q37.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q37.result new file mode 100644 index 00000000000..532a965bfb5 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q37.result @@ -0,0 +1,11 @@ +URL PageViews +http://irr.ru/index.php?showalbum/login-leniya7777294,938303130 102341 +http://komme%2F27.0.1453.116 51218 +http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0 18315 +http://irr.ru/index.php?showalbum/login-kapustic/product_name 16461 +http://irr.ru/index.php 12577 +http://irr.ru/index.php?showalbum/login 10880 +http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0; 7627 +http://irr.ru/index.php?showalbum/login-kupalnik 4369 +http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params 4058 +http://komme%2F27.0.1453.116 Safari 3021 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q38.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q38.result new file mode 100644 index 00000000000..a11e7836e67 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q38.result @@ -0,0 +1,11 @@ +Title PageViews +Тест (Россия) - Яндекс 122407 +Шарарай), Выбрать! - обсуждаются на голд: Шоубиз - Свободная историс 82935 +Приморск - IRR.ru 80958 +Брюки New Era H (Асус) 258 общая выплаток, горшечными 39098 +Теплоску на 23123 +Dave and Hotpoint sport – самые вещие 14329 +AUTO.ria.ua ™ - Аппер 14053 +Приморск (Россия) - Яндекс.Видео 13912 +OWAProfessign), продать 10919 +Труси - Шоубиз 10157 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q39.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q39.result new file mode 100644 index 00000000000..4f4bd842794 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q39.result @@ -0,0 +1,11 @@ +URL PageViews +http://afisha.yandex.php?id=1620_4_licanel 2 +http://afisha.yandex.php?np=c5c08969 2 +http://afisha.yandex.php?produkty%2Fproduct_name 2 +http://afisha.yandex.php?r=67628569/page=10275793663866 2 +http://afisha.yandex.php?r=788-78087542037 2 +http://afisha.yandex.php?s=4d450&pid 2 +http://afisha.yandex.php?showbiz/photo=0&is_hot 2 +http://afisha.yandex.php?st1=10&category 2 +http://afisha.yandex.php?t=1331623687778 2 +http://afisha.yandex.php?t=740146/ 2 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q4.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q4.result new file mode 100644 index 00000000000..75da030bc83 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q4.result @@ -0,0 +1,2 @@ +avg(`UserID`) +2.52895302979023e+18 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q40.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q40.result new file mode 100644 index 00000000000..fa9c3bd5d64 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q40.result @@ -0,0 +1,11 @@ +TraficSourceID SearchEngineID AdvEngineID Src Dst PageViews +1 0 0 http://mysw.info/node/215455&text http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=&auto 15 +1 0 0 http://mysw.info/node/215455&text http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=0&page9/#1440_S_Mitsubishi/196372 15 +1 0 0 http://mysw.info/node/215455&text http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=9584%26pz%3D0%26ntype 15 +1 0 0 http://mysw.info/node/215455&text http://irr.ru/index.php?showalbum/logabass.ru/cation&op_category_id=HOtbySdOiUw&where=all&film/4700 15 +1 0 0 http://mysw.info/node/215455&text http://irr.ru/index.php?showalbum/login-3284][11]=6625f3634571&state=0&expand_search=0&damagecache/wm/2013&price_do=50000&page/1772,903742726108784&op_uid 15 +1 0 0 http://smeshariki.ru/diary.ru/yandex.ru/credir=1 http://komme%2F27.0.1453.116 15 +1 0 0 http://wildberrifiers?year_detailshop/id_art_type=7&s_yers http://irr.ru/index.php?showalbum/login 15 +1 0 0 http://yandex.php?city[1]=700003 http://komme%2F27.0.1453.116 15 +1 0 0 http://yandex.ru/search?q=лавпланется монстружка http://irr.ru/index.php?showalbum/login-kupaljinik-2008-g-v-stroika/photo=on&input_bdsmpeople.ru/image&sr=http://lk.wildberries 15 +1 0 0 http://yandex.ru/search?q=лавпланшеты&source http://komme%2F27.0.1453.116 15 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q41.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q41.result new file mode 100644 index 00000000000..6071842b3a5 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q41.result @@ -0,0 +1,11 @@ +URLHash EventDate PageViews +7199155066341437901 2013-07-15 27 +8165850906391446088 2013-07-15 27 +-8505838588544217213 2013-07-15 26 +2512899255762264913 2013-07-15 26 +-6048157399675510565 2013-07-15 25 +-6025761452198030778 2013-07-15 25 +-3611962581960090019 2013-07-15 25 +1045132364006275583 2013-07-15 24 +1851128641780263854 2013-07-15 24 +2033248414344857063 2013-07-15 24 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q42.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q42.result new file mode 100644 index 00000000000..184e5720d2e --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q42.result @@ -0,0 +1,11 @@ +WindowClientWidth WindowClientHeight PageViews +1771 809 1 +1771 848 1 +1771 1020 1 +1772 532 1 +1772 724 1 +1772 816 1 +1772 878 1 +1774 587 1 +1777 617 1 +1778 560 1 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q43.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q43.result new file mode 100644 index 00000000000..77eb4537098 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q43.result @@ -0,0 +1,11 @@ +M PageViews +2013-07-15 12:40:00 513 +2013-07-15 12:41:00 457 +2013-07-15 12:42:00 470 +2013-07-15 12:43:00 468 +2013-07-15 12:44:00 453 +2013-07-15 12:45:00 462 +2013-07-15 12:46:00 481 +2013-07-15 12:47:00 458 +2013-07-15 12:48:00 466 +2013-07-15 12:49:00 467 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q5.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q5.result new file mode 100644 index 00000000000..2fa34e1e17a --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q5.result @@ -0,0 +1,2 @@ +count(DISTINCT `UserID`) +17630976 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q6.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q6.result new file mode 100644 index 00000000000..99d30d41339 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q6.result @@ -0,0 +1,2 @@ +count(DISTINCT `SearchPhrase`) +6019103 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q7.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q7.result new file mode 100644 index 00000000000..8b0c65a2920 --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q7.result @@ -0,0 +1,2 @@ +min(`EventDate`) max(`EventDate`) +2013-07-02 2013-07-31 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q8.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q8.result new file mode 100644 index 00000000000..4333ac4d85c --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q8.result @@ -0,0 +1,19 @@ +AdvEngineID count(*) +2 404602 +27 113167 +13 45631 +45 38960 +44 9730 +3 6896 +62 5266 +52 3554 +50 938 +28 836 +53 350 +25 343 +61 158 +21 38 +42 20 +16 7 +7 3 +22 1 diff --git a/regression-test/pipeline/performance/clickbench/query-result-target/doris-q9.result b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q9.result new file mode 100644 index 00000000000..289deb1835a --- /dev/null +++ b/regression-test/pipeline/performance/clickbench/query-result-target/doris-q9.result @@ -0,0 +1,11 @@ +RegionID u +229 2845673 +2 1081016 +208 831676 +169 604583 +184 322661 +158 307152 +34 299479 +55 286525 +107 272448 +42 243181 diff --git a/regression-test/pipeline/performance/compile.sh b/regression-test/pipeline/performance/compile.sh index 9fdb995487f..cf4320f23b1 100644 --- a/regression-test/pipeline/performance/compile.sh +++ b/regression-test/pipeline/performance/compile.sh @@ -136,8 +136,11 @@ sudo docker run -i --rm \ && export CUSTOM_NPM_REGISTRY=https://registry.npmjs.org \ && bash build.sh --fe --be --clean 2>&1 | tee build.log" set +x -succ_symble="BUILD SUCCESS" -if [[ -d outout ]] && grep "${succ_symble}" "${teamcity_build_checkoutDir}"/build.log; then +set -x +succ_symble="Successfully build Doris" +if [[ -d output ]] && grep "${succ_symble}" "${teamcity_build_checkoutDir}"/build.log; then + echo "INFO: ${succ_symble}" +else echo -e "ERROR: BUILD FAILED" exit 1 fi diff --git a/regression-test/pipeline/performance/conf/be_custom.conf b/regression-test/pipeline/performance/conf/be_custom.conf index f6ac4564857..0e3904faddf 100644 --- a/regression-test/pipeline/performance/conf/be_custom.conf +++ b/regression-test/pipeline/performance/conf/be_custom.conf @@ -16,6 +16,8 @@ # under the License. priority_networks=127.0.0.1/24 -storage_root_path=/data/doris-storage +# master branch, branch_name=master +# branch-2.0 branch, branch_name=branch20 +storage_root_path=/data/doris-storage-${branch_name} streaming_load_max_mb=102400 diff --git a/regression-test/pipeline/performance/conf/fe_custom.conf b/regression-test/pipeline/performance/conf/fe_custom.conf index bd679850532..65af05709ca 100644 --- a/regression-test/pipeline/performance/conf/fe_custom.conf +++ b/regression-test/pipeline/performance/conf/fe_custom.conf @@ -22,7 +22,8 @@ ##################################################################### priority_networks=127.0.0.1/24 -meta_dir=/data/doris-meta +# master branch, branch_name=master +# branch-2.0 branch, branch_name=branch20 +meta_dir=/data/doris-meta-${branch_name} stream_load_default_timeout_second=3600 -ignore_unknown_metadata_module=true diff --git a/regression-test/pipeline/performance/deploy.sh b/regression-test/pipeline/performance/deploy.sh index 5f2e673f040..42626775847 100644 --- a/regression-test/pipeline/performance/deploy.sh +++ b/regression-test/pipeline/performance/deploy.sh @@ -29,6 +29,7 @@ else fi EOF +##################################################################################### ## deploy.sh content ## # shellcheck source=/dev/null @@ -46,14 +47,13 @@ source "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/doris-uti if ${DEBUG:-false}; then pull_request_num="28431" commit_id="b052225cd0a180b4576319b5bd6331218dd0d3fe" + target_branch="master" fi echo "#### Check env" -if [[ -z "${teamcity_build_checkoutDir}" || - -z "${pull_request_num}" || - -z "${commit_id}" ]]; then - echo "ERROR: env teamcity_build_checkoutDir or pull_request_num or commit_id not set" - exit 1 -fi +if [[ -z "${teamcity_build_checkoutDir}" ]]; then echo "ERROR: env teamcity_build_checkoutDir not set" && exit 1; fi +if [[ -z "${pull_request_num}" ]]; then echo "ERROR: env pull_request_num not set" && exit 1; fi +if [[ -z "${commit_id}" ]]; then echo "ERROR: env commit_id not set" && exit 1; fi +if [[ -z "${target_branch}" ]]; then echo "ERROR: env target_branch not set" && exit 1; fi echo "#### Deploy Doris ####" DORIS_HOME="${teamcity_build_checkoutDir}/output" @@ -64,16 +64,13 @@ need_backup_doris_logs=false echo "#### 1. try to kill old doris process" stop_doris +set -e echo "#### 2. copy conf from regression-test/pipeline/performance/conf/" -rm -f "${DORIS_HOME}"/fe/conf/fe_custom.conf "${DORIS_HOME}"/be/conf/be_custom.conf -if [[ -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/fe_custom.conf && - -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/be_custom.conf ]]; then - cp -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/fe_custom.conf "${DORIS_HOME}"/fe/conf/ - cp -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/be_custom.conf "${DORIS_HOME}"/be/conf/ -else - echo "ERROR: doris conf file missing in ${teamcity_build_checkoutDir}/regression-test/pipeline/performance/conf/" - exit 1 -fi +cp -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/fe_custom.conf "${DORIS_HOME}"/fe/conf/ +cp -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/be_custom.conf "${DORIS_HOME}"/be/conf/ +target_branch="$(echo "${target_branch}" | sed 's| ||g;s|\.||g;s|-||g')" # remove space、dot、hyphen from branch name +sed -i "s|^meta_dir=/data/doris-meta-\${branch_name}|meta_dir=/data/doris-meta-${target_branch}|g" "${DORIS_HOME}"/fe/conf/fe_custom.conf +sed -i "s|^storage_root_path=/data/doris-storage-\${branch_name}|storage_root_path=/data/doris-storage-${target_branch}|g" "${DORIS_HOME}"/be/conf/be_custom.conf echo "#### 3. start Doris" meta_dir=$(get_doris_conf_value "${DORIS_HOME}"/fe/conf/fe_custom.conf meta_dir) diff --git a/regression-test/pipeline/performance/prepare.sh b/regression-test/pipeline/performance/prepare.sh index b3b54b85b28..ee3c8e0a990 100644 --- a/regression-test/pipeline/performance/prepare.sh +++ b/regression-test/pipeline/performance/prepare.sh @@ -39,23 +39,23 @@ EOF if ${DEBUG:-false}; then pull_request_num="28431" commit_id_from_trigger="5f5c4c80564c76ff4267fc4ce6a5408498ed1ab5" - commit_id="5f5c4c80564c76ff4267fc4ce6a5408498ed1ab5" + commit_id="5f5c4c80564c76ff4267fc4ce6a5408498ed1ab5" # teamcity checkout commit id + target_branch="master" fi echo "#### Check env" -if [[ -z "${teamcity_build_checkoutDir}" || - -z "${commit_id_from_trigger}" || - -z ${commit_id:-} || - -z ${pull_request_num:-} ]]; then - echo "ERROR: env teamcity_build_checkoutDir or commit_id_from_trigger - or commit_id or pull_request_num not set" && exit 1 -fi +if [[ -z "${teamcity_build_checkoutDir}" ]]; then echo "ERROR: env teamcity_build_checkoutDir not set" && exit 1; fi +if [[ -z "${pull_request_num}" ]]; then echo "ERROR: env pull_request_num not set" && exit 1; fi +if [[ -z "${commit_id_from_trigger}" ]]; then echo "ERROR: env commit_id_from_trigger not set" && exit 1; fi +if [[ -z "${commit_id}" ]]; then echo "ERROR: env commit_id not set" && exit 1; fi +if [[ -z "${target_branch}" ]]; then echo "ERROR: env target_branch not set" && exit 1; fi + commit_id_from_checkout=${commit_id} echo "#### 1. check if need run" if [[ "${commit_id_from_trigger}" != "${commit_id_from_checkout}" ]]; then echo -e "从触发流水线 -> 流水线开始跑,这个时间段中如果有新commit, -这时候流水线 checkout 出来的 commit 就不是触发时的传过来的 commit了, -这种情况不需要跑,预期pr owner会重新触发。" +这时候流水线 checkout 出来的 commit 就不是触发时的传过来的 commit 了, +这种情况不需要跑,预期 pr owner 会重新触发。" echo -e "ERROR: PR(${pull_request_num}), the lastest commit id ${commit_id_from_checkout} @@ -67,6 +67,13 @@ fi # shellcheck source=/dev/null source "$(bash "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/get-or-set-tmp-env.sh 'get')" if ${skip_pipeline:=false}; then echo "INFO: skip build pipline" && exit 0; else echo "INFO: no skip"; fi +if [[ "${target_branch}" == "master" || "${target_branch}" == "branch-2.0" ]]; then + echo "INFO: PR target branch ${target_branch} is in (master, branch-2.0)" +else + echo "WARNING: PR target branch ${target_branch} is NOT in (master, branch-2.0), skip pipeline." + bash "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/get-or-set-tmp-env.sh 'set' "export skip_pipeline=true" + exit 0 +fi # shellcheck source=/dev/null # _get_pr_changed_files file_changed_performance source "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/github-utils.sh @@ -78,6 +85,7 @@ if _get_pr_changed_files "${pull_request_num}"; then fi echo "#### 2. check if tpch depending files exist" +set -x if ! [[ -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/oss-utils.sh && -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/doris-utils.sh && -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/github-utils.sh && @@ -85,6 +93,12 @@ if ! [[ -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/oss-u -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/be_custom.conf && -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/custom_env.sh && -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/fe_custom.conf && + -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/clickbench/conf/be_custom.conf && + -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/clickbench/conf/fe_custom.conf && + -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/clickbench/conf/opt_session_variables.sql && + -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/clickbench/check-query-result.sh && + -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/clickbench/queries-sort.sql && + -d "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/clickbench/query-result-target/ && -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/prepare.sh && -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/compile.sh && -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/deploy.sh && @@ -94,3 +108,9 @@ if ! [[ -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/oss-u -f "${teamcity_build_checkoutDir}"/tools/tpcds-tools/bin/run-tpcds-queries.sh ]]; then echo "ERROR: depending files missing" && exit 1 fi + +echo "#### 3. try to kill old doris process" +# shellcheck source=/dev/null +# stop_doris +source "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/doris-utils.sh +stop_doris diff --git a/regression-test/pipeline/performance/run-clickbench.sh b/regression-test/pipeline/performance/run-clickbench.sh index 225fa802ec6..1caf0ed55c6 100644 --- a/regression-test/pipeline/performance/run-clickbench.sh +++ b/regression-test/pipeline/performance/run-clickbench.sh @@ -45,14 +45,13 @@ source "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/oss-utils if ${DEBUG:-false}; then pull_request_num="28431" commit_id="5f5c4c80564c76ff4267fc4ce6a5408498ed1ab5" + target_branch="master" fi echo "#### Check env" -if [[ -z "${teamcity_build_checkoutDir}" || - -z "${pull_request_num}" || - -z "${commit_id}" ]]; then - echo "ERROR: env teamcity_build_checkoutDir or pull_request_num or commit_id not set" - exit 1 -fi +if [[ -z "${teamcity_build_checkoutDir}" ]]; then echo "ERROR: env teamcity_build_checkoutDir not set" && exit 1; fi +if [[ -z "${pull_request_num}" ]]; then echo "ERROR: env pull_request_num not set" && exit 1; fi +if [[ -z "${commit_id}" ]]; then echo "ERROR: env commit_id not set" && exit 1; fi +if [[ -z "${target_branch}" ]]; then echo "ERROR: env target_branch not set" && exit 1; fi # shellcheck source=/dev/null source "$(bash "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/get-or-set-tmp-env.sh 'get')" @@ -71,70 +70,39 @@ exit_flag=0 host="127.0.0.1" query_port=$(get_doris_conf_value "${DORIS_HOME}"/fe/conf/fe.conf query_port) - backup_session_variables_file="${teamcity_build_checkoutDir}/regression-test/pipeline/performance/backup_session_variables_file.sql" - opt_session_variables_file="${teamcity_build_checkoutDir}/regression-test/pipeline/performance/opt_session_variables_file.sql" - - echo "####optimize doris config" - echo " -priority_networks=127.0.0.1/24 -meta_dir=/data/doris-meta -stream_load_default_timeout_second=3600 -ignore_unknown_metadata_module=true -enable_full_auto_analyze=false -" | tee "${DORIS_HOME}"/fe/conf/fe_custom.conf - - echo " -priority_networks=127.0.0.1/24 -storage_root_path=/data/doris-storage -load_channel_memory_refresh_sleep_time_ms=1000 -soft_mem_limit_frac=1 -track_new_delete=false -streaming_load_max_mb=102400 -doris_scanner_thread_pool_thread_num=8 -tc_enable_aggressive_memory_decommit=false -enable_new_scan_node=false -#mem_limit=100% -mem_limit=90% -#write_buffer_size=1609715200 -write_buffer_size=1209715200 -load_process_max_memory_limit_percent=100 -#load_process_soft_mem_limit_percent=80 -disable_auto_compaction=true -disable_storage_page_cache=false -disable_chunk_allocator=false -enable_simdjson_reader = true -" | tee "${DORIS_HOME}"/be/conf/be_custom.conf - - opt_session_variables=" -set global exec_mem_limit=34359738368; -set global parallel_fragment_exec_instance_num=16; -set global parallel_pipeline_task_num=16; -set global enable_single_distinct_column_opt=true; -set global enable_function_pushdown=true; -set global forbid_unknown_col_stats=false; -set global runtime_filter_mode=global; -" - echo -e "${opt_session_variables}" | tee "${opt_session_variables_file}" + backup_session_variables_file="${teamcity_build_checkoutDir}/regression-test/pipeline/performance/clickbench/conf/backup_session_variables.sql" + opt_session_variables_file="${teamcity_build_checkoutDir}/regression-test/pipeline/performance/clickbench/conf/opt_session_variables.sql" + echo "#### 1. backup session variables to file ${backup_session_variables_file}" + if ! restart_doris; then echo "ERROR: Restart doris failed" && exit 1; fi backup_session_variables() { _IFS="${IFS}" IFS=$'\n' - for line in ${opt_session_variables}; do + while read -r line; do + if [[ -z "${line}" || "${line}" == "#"* ]]; then continue; fi k="${line/set global /}" k="${k%=*}" v=$(mysql -h"${host}" -P"${query_port}" -uroot -e"show variables like '${k}'\G" | grep " Value: ") v="${v/*Value: /}" echo "set global ${k}=${v};" >>"${backup_session_variables_file}" - done + done <"${opt_session_variables_file}" IFS="${_IFS}" } backup_session_variables - mysql -h"${host}" -P"${query_port}" -uroot -e"source ${opt_session_variables_file};" - echo "#### 1. Restart doris" + echo "#### 2. optimize doris config" + cp -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/clickbench/conf/fe_custom.conf "${DORIS_HOME}"/fe/conf/ + cp -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/clickbench/conf/be_custom.conf "${DORIS_HOME}"/be/conf/ + target_branch="$(echo "${target_branch}" | sed 's| ||g;s|\.||g;s|-||g')" # remove space、dot、hyphen from branch name + sed -i "s|^meta_dir=/data/doris-meta-\${branch_name}|meta_dir=/data/doris-meta-${target_branch}|g" "${DORIS_HOME}"/fe/conf/fe_custom.conf + sed -i "s|^storage_root_path=/data/doris-storage-\${branch_name}|storage_root_path=/data/doris-storage-${target_branch}|g" "${DORIS_HOME}"/be/conf/be_custom.conf if ! restart_doris; then echo "ERROR: Restart doris failed" && exit 1; fi - echo "#### 2. check if need to load data" + echo "#### 3. optimize session variables" + cat "${opt_session_variables_file}" + mysql -h"${host}" -P"${query_port}" -uroot -e"source ${opt_session_variables_file};" + + echo "#### 4. check data rows" data_home="/data/clickbench" # no / at the end db_name="clickbench" if ! check_clickbench_table_rows "${db_name}"; then @@ -287,30 +255,32 @@ set global runtime_filter_mode=global; data_reload="true" fi - echo "#### 3. run clickbench query" + echo "#### 5. run clickbench query" + sed -i '/^run_sql \"analyze table hits with sync;\"/d' "${teamcity_build_checkoutDir}"/tools/clickbench-tools/run-clickbench-queries.sh bash "${teamcity_build_checkoutDir}"/tools/clickbench-tools/run-clickbench-queries.sh # result.csv 来自 run-clickbench-queries.sh 的产出 if ! check_clickbench_performance_result result.csv; then exit 1; fi - if ! check_clickbench_query_result; then exit 1; fi + if ! (cd clickbench && bash check-query-result.sh && cd -); then exit 1; fi cold_run_sum=$(awk -F ',' '{sum+=$2} END {print sum}' result.csv) best_hot_run_sum=$(awk -F ',' '{if($3<$4){sum+=$3}else{sum+=$4}} END {print sum}' result.csv) - comment_body="ClickBench test result on commit ${commit_id:-}, data reload: ${data_reload:-"false"} + comment_body_summary="Total hot run time: ${best_hot_run_sum} s" + comment_body_detail="ClickBench test result on commit ${commit_id:-}, data reload: ${data_reload:-"false"} $(sed 's|,|\t|g' result.csv) Total cold run time: ${cold_run_sum} s Total hot run time: ${best_hot_run_sum} s" - echo "#### 4. comment result on clickbench" - comment_body=$(echo "${comment_body}" | sed -e ':a;N;$!ba;s/\t/\\t/g;s/\n/\\n/g') # 将所有的 Tab字符替换为\t 换行符替换为\n - create_an_issue_comment_clickbench "${pull_request_num:-}" "${comment_body}" + echo "#### 6. comment result on clickbench" + comment_body_detail=$(echo "${comment_body_detail}" | sed -e ':a;N;$!ba;s/\t/\\t/g;s/\n/\\n/g') # 将所有的 Tab字符替换为\t 换行符替换为\n + create_an_issue_comment_clickbench "${pull_request_num:-}" "${comment_body_summary}" "${comment_body_detail}" rm -f result.csv - echo "INFO: Restore session variables" + echo -e "INFO: Restore session variables \n$(cat "${backup_session_variables_file}")" mysql -h"${host}" -P"${query_port}" -uroot -e "source ${backup_session_variables_file};" rm -f "${backup_session_variables_file}" ) exit_flag="$?" -echo "#### 5. check if need backup doris logs" +echo "#### 7. check if need backup doris logs" if [[ ${exit_flag} != "0" ]]; then stop_doris print_doris_fe_log diff --git a/regression-test/pipeline/performance/run-load.sh b/regression-test/pipeline/performance/run-load.sh index 784ac38aafa..47664b5ecf1 100644 --- a/regression-test/pipeline/performance/run-load.sh +++ b/regression-test/pipeline/performance/run-load.sh @@ -36,7 +36,7 @@ EOF # restart_doris, set_session_variable source "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/doris-utils.sh # shellcheck source=/dev/null -# create_an_issue_comment +# create_an_issue_comment_load source "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/github-utils.sh # shellcheck source=/dev/null # upload_doris_log_to_oss @@ -45,14 +45,13 @@ source "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/oss-utils if ${DEBUG:-false}; then pull_request_num="28431" commit_id="5f5c4c80564c76ff4267fc4ce6a5408498ed1ab5" + target_branch="master" fi echo "#### Check env" -if [[ -z "${teamcity_build_checkoutDir}" || - -z "${pull_request_num}" || - -z "${commit_id}" ]]; then - echo "ERROR: env teamcity_build_checkoutDir or pull_request_num or commit_id not set" - exit 1 -fi +if [[ -z "${teamcity_build_checkoutDir}" ]]; then echo "ERROR: env teamcity_build_checkoutDir not set" && exit 1; fi +if [[ -z "${pull_request_num}" ]]; then echo "ERROR: env pull_request_num not set" && exit 1; fi +if [[ -z "${commit_id}" ]]; then echo "ERROR: env commit_id not set" && exit 1; fi +if [[ -z "${target_branch}" ]]; then echo "ERROR: env target_branch not set" && exit 1; fi # shellcheck source=/dev/null source "$(bash "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/get-or-set-tmp-env.sh 'get')" @@ -77,7 +76,7 @@ exit_flag=0 shopt -s inherit_errexit stream_load_json() { - echo "#### create table" + echo "## create table" ddl=" CREATE TABLE IF NOT EXISTS hits_json ( CounterID INT NOT NULL, @@ -191,7 +190,7 @@ exit_flag=0 PROPERTIES (\"replication_num\"=\"1\"); " ${clt} -D"${DB}" -e"${ddl}" - echo "#### load data" + echo "## load data" if [[ ! -d "${data_home}" ]]; then mkdir -p "${data_home}"; fi if [[ ! -f "${data_home}"/hits.json.1000000 ]] || [[ $(wc -c "${data_home}"/hits.json.1000000 | awk '{print $1}') != '2358488459' ]]; then cd "${data_home}" @@ -212,7 +211,7 @@ exit_flag=0 sleep 5 if [[ $(${clt} -D"${DB}" -e"select count(*) from hits_json" | sed -n '2p') != 1000000 ]]; then echo "check load fail..." && return 1; fi - echo "#### record load test result" + echo "## record load test result" stream_load_json_size=$(echo "${ret}" | jq '.LoadBytes') stream_load_json_time=$(printf "%.0f" "$(echo "scale=1;$(echo "${ret}" | jq '.LoadTimeMs')/1000" | bc)") stream_load_json_speed=$(echo "${stream_load_json_size} / 1024 / 1024/ ${stream_load_json_time}" | bc) @@ -222,7 +221,7 @@ exit_flag=0 } stream_load_orc() { - echo "#### create table" + echo "## create table" ddl=" CREATE TABLE IF NOT EXISTS hits_orc ( CounterID INT NOT NULL, @@ -336,7 +335,7 @@ exit_flag=0 PROPERTIES (\"replication_num\"=\"1\"); " ${clt} -D"${DB}" -e"${ddl}" - echo "#### load data" + echo "## load data" if [[ ! -d "${data_home}" ]]; then mkdir -p "${data_home}"; fi if [[ ! -f "${data_home}"/hits_0.orc ]] || [[ $(wc -c "${data_home}"/hits_0.orc | awk '{print $1}') != '1101869774' ]]; then cd "${data_home}" @@ -355,7 +354,7 @@ exit_flag=0 sleep 5 if [[ $(${clt} -D"${DB}" -e"select count(*) from hits_orc" | sed -n '2p') != 8800160 ]]; then echo "check load fail..." && return 1; fi - echo "#### record load test result" + echo "## record load test result" stream_load_orc_size=$(echo "${ret}" | jq '.LoadBytes') stream_load_orc_time=$(printf "%.0f" "$(echo "scale=1;$(echo "${ret}" | jq '.LoadTimeMs')/1000" | bc)") stream_load_orc_speed=$(echo "${stream_load_orc_size} / 1024 / 1024/ ${stream_load_orc_time}" | bc) @@ -365,7 +364,7 @@ exit_flag=0 } stream_load_parquet() { - echo "#### create table" + echo "## create table" ddl=" CREATE TABLE IF NOT EXISTS hits_parquet ( CounterID INT NOT NULL, @@ -479,7 +478,7 @@ exit_flag=0 PROPERTIES (\"replication_num\"=\"1\"); " ${clt} -D"${DB}" -e"${ddl}" - echo "#### load data" + echo "## load data" stream_load_parquet_size=0 stream_load_parquet_time=0 if [[ ! -d "${data_home}" ]]; then mkdir -p "${data_home}"; fi @@ -507,7 +506,7 @@ exit_flag=0 sleep 5 if [[ $(${clt} -D"${DB}" -e"select count(*) from hits_parquet" | sed -n '2p') != 5000000 ]]; then echo "check load fail..." && return 1; fi - echo "#### record load test result" + echo "## record load test result" stream_load_parquet_speed=$(echo "${stream_load_parquet_size} / 1024 / 1024/ ${stream_load_parquet_time}" | bc) export stream_load_parquet_size export stream_load_parquet_time @@ -515,7 +514,7 @@ exit_flag=0 } insert_into_select() { - echo "#### create table" + echo "## create table" ddl=" CREATE TABLE IF NOT EXISTS hits_insert_into_select ( CounterID INT NOT NULL, @@ -630,7 +629,7 @@ exit_flag=0 " ${clt} -D"${DB}" -e"${ddl}" - echo "#### load data by INSERT INTO SELECT" + echo "## load data by INSERT INTO SELECT" insert_into_select_time=0 insert_into_select_rows=10000000 start=$(date +%s%3N) @@ -644,7 +643,7 @@ exit_flag=0 sleep 5 if [[ $(${clt} -D"${DB}" -e"select count(*) from hits_insert_into_select" | sed -n '2p') != "${insert_into_select_rows}" ]]; then echo "check load fail..." && return 1; fi - echo "#### record load test result" + echo "## record load test result" insert_into_select_speed=$(echo "${insert_into_select_rows} / 1000 / ${insert_into_select_time}" | bc) export insert_into_select_rows export insert_into_select_time @@ -652,9 +651,14 @@ exit_flag=0 } echo "#### 1. Restart doris" + cp -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/fe_custom.conf "${DORIS_HOME}"/fe/conf/ + cp -f "${teamcity_build_checkoutDir}"/regression-test/pipeline/performance/conf/be_custom.conf "${DORIS_HOME}"/be/conf/ + target_branch="$(echo "${target_branch}" | sed 's| ||g;s|\.||g;s|-||g')" # remove space、dot、hyphen from branch name + sed -i "s|^meta_dir=/data/doris-meta-\${branch_name}|meta_dir=/data/doris-meta-${target_branch}|g" "${DORIS_HOME}"/fe/conf/fe_custom.conf + sed -i "s|^storage_root_path=/data/doris-storage-\${branch_name}|storage_root_path=/data/doris-storage-${target_branch}|g" "${DORIS_HOME}"/be/conf/be_custom.conf if ! restart_doris; then echo "ERROR: Restart doris failed" && exit 1; fi - echo "#### 3. run streamload test" + echo "#### 2. run load test" set_session_variable runtime_filter_mode global ${clt} -e "DROP DATABASE IF EXISTS ${DB}" && sleep 1 ${clt} -e "CREATE DATABASE IF NOT EXISTS ${DB}" && sleep 5 @@ -662,22 +666,28 @@ exit_flag=0 if ! stream_load_orc; then exit 1; fi if ! stream_load_parquet; then exit 1; fi if ! insert_into_select; then exit 1; fi - if ! check_load_performance; then exit 1; fi + + echo "#### 3. check load performance" + if [[ ${stream_load_json_speed} -lt ${stream_load_json_speed_threshold} ]]; then echo "ERROR: stream_load_json_speed ${stream_load_json_speed} is less than the threshold ${stream_load_json_speed_threshold}" && exit 1; fi + if [[ ${stream_load_orc_speed} -lt ${stream_load_orc_speed_threshold} ]]; then echo "ERROR: stream_load_json_speed ${stream_load_orc_speed} is less than the threshold ${stream_load_orc_speed_threshold}" && exit 1; fi + if [[ ${stream_load_parquet_speed} -lt ${stream_load_parquet_speed_threshold} ]]; then echo "ERROR: stream_load_json_speed ${stream_load_parquet_speed} is less than the threshold ${stream_load_parquet_speed_threshold}" && exit 1; fi + if [[ ${insert_into_select_speed} -lt ${insert_into_select_speed_threshold} ]]; then echo "ERROR: stream_load_json_speed ${insert_into_select_speed} is less than the threshold ${insert_into_select_speed_threshold}" && exit 1; fi echo "#### 4. comment result on tpch" - comment_body="Load test result on commit ${commit_id:-} with default conf and session variables" + comment_body="Load test result on commit ${commit_id:-} with default session variables" if [[ -n ${stream_load_json_time} ]]; then comment_body="${comment_body}\n stream load json: ${stream_load_json_time} seconds loaded ${stream_load_json_size} Bytes, about ${stream_load_json_speed} MB/s"; fi if [[ -n ${stream_load_orc_time} ]]; then comment_body="${comment_body}\n stream load orc: ${stream_load_orc_time} seconds loaded ${stream_load_orc_size} Bytes, about ${stream_load_orc_speed} MB/s"; fi - if [[ -n ${stream_load_parquet_time} ]]; then comment_body="${comment_body}\n stream load parquet: ${stream_load_parquet_time} seconds loaded ${stream_load_parquet_size} Bytes, about ${stream_load_parquet_speed} MB/s"; fi - if [[ -n ${insert_into_select_time} ]]; then comment_body="${comment_body}\n insert into select: ${insert_into_select_time} seconds inserted ${insert_into_select_rows} Rows, about ${insert_into_select_speed}K ops/s"; fi + if [[ -n ${stream_load_parquet_time} ]]; then comment_body="${comment_body}\n stream load parquet: ${stream_load_parquet_time} seconds loaded ${stream_load_parquet_size} Bytes, about ${stream_load_parquet_speed} MB/s"; fi + if [[ -n ${insert_into_select_time} ]]; then comment_body="${comment_body}\n insert into select: ${insert_into_select_time} seconds inserted ${insert_into_select_rows} Rows, about ${insert_into_select_speed}K ops/s"; fi comment_body=$(echo "${comment_body}" | sed -e ':a;N;$!ba;s/\t/\\t/g;s/\n/\\n/g') # 将所有的 Tab字符替换为\t 换行符替换为\n - create_an_issue_comment_tpch "${pull_request_num:-}" "${comment_body}" + create_an_issue_comment_load "${pull_request_num:-}" "${comment_body}" ) exit_flag="$?" echo "#### 5. check if need backup doris logs" if [[ ${exit_flag} != "0" ]]; then + stop_doris print_doris_fe_log print_doris_be_log if file_name=$(archive_doris_logs "${pull_request_num}_${commit_id}_doris_logs.tar.gz"); then diff --git a/regression-test/pipeline/performance/run-tpcds.sh b/regression-test/pipeline/performance/run-tpcds.sh index 0684454ca49..bff7a9872d1 100644 --- a/regression-test/pipeline/performance/run-tpcds.sh +++ b/regression-test/pipeline/performance/run-tpcds.sh @@ -45,15 +45,14 @@ source "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/oss-utils if ${DEBUG:-false}; then pull_request_num="28431" commit_id="5f5c4c80564c76ff4267fc4ce6a5408498ed1ab5" + target_branch="master" SF="1" fi echo "#### Check env" -if [[ -z "${teamcity_build_checkoutDir}" || - -z "${pull_request_num}" || - -z "${commit_id}" ]]; then - echo "ERROR: env teamcity_build_checkoutDir or pull_request_num or commit_id not set" - exit 1 -fi +if [[ -z "${teamcity_build_checkoutDir}" ]]; then echo "ERROR: env teamcity_build_checkoutDir not set" && exit 1; fi +if [[ -z "${pull_request_num}" ]]; then echo "ERROR: env pull_request_num not set" && exit 1; fi +if [[ -z "${commit_id}" ]]; then echo "ERROR: env commit_id not set" && exit 1; fi +if [[ -z "${target_branch}" ]]; then echo "ERROR: env target_branch not set" && exit 1; fi # shellcheck source=/dev/null source "$(bash "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/get-or-set-tmp-env.sh 'get')" @@ -131,14 +130,16 @@ exit_flag=0 if ! check_tpcds_result "${teamcity_build_checkoutDir}"/run-tpcds-queries.log; then exit 1; fi line_end=$(sed -n '/^Total hot run time/=' "${teamcity_build_checkoutDir}"/run-tpcds-queries.log) line_begin=$((line_end - 100)) - comment_body="TPC-DS sf${SF} test result on commit ${commit_id:-}, data reload: ${data_reload:-"false"} + comment_body_summary="$(sed -n "${line_end}p" "${teamcity_build_checkoutDir}"/run-tpcds-queries.log)" + comment_body_detail="TPC-DS sf${SF} test result on commit ${commit_id:-}, data reload: ${data_reload:-"false"} run tpcds-sf${SF} query with default conf and session variables $(sed -n "${line_begin},${line_end}p" "${teamcity_build_checkoutDir}"/run-tpcds-queries.log)" echo "#### 4. comment result on tpcds" - comment_body=$(echo "${comment_body}" | sed -e ':a;N;$!ba;s/\t/\\t/g;s/\n/\\n/g') # 将所有的 Tab字符替换为\t 换行符替换为\n - create_an_issue_comment_tpcds "${pull_request_num:-}" "${comment_body}" + comment_body_summary=$(echo "${comment_body_summary}" | sed -e ':a;N;$!ba;s/\t/\\t/g;s/\n/\\n/g') # 将所有的 Tab字符替换为\t 换行符替换为\n + comment_body_detail=$(echo "${comment_body_detail}" | sed -e ':a;N;$!ba;s/\t/\\t/g;s/\n/\\n/g') # 将所有的 Tab字符替换为\t 换行符替换为\n + create_an_issue_comment_tpcds "${pull_request_num:-}" "${comment_body_summary}" "${comment_body_detail}" rm -f result.csv ) exit_flag="$?" diff --git a/regression-test/pipeline/performance/run-tpch.sh b/regression-test/pipeline/performance/run-tpch.sh index d3e408eef86..a8f5dcdd30f 100644 --- a/regression-test/pipeline/performance/run-tpch.sh +++ b/regression-test/pipeline/performance/run-tpch.sh @@ -45,15 +45,14 @@ source "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/oss-utils if ${DEBUG:-false}; then pull_request_num="28431" commit_id="5f5c4c80564c76ff4267fc4ce6a5408498ed1ab5" + target_branch="master" SF="1" fi echo "#### Check env" -if [[ -z "${teamcity_build_checkoutDir}" || - -z "${pull_request_num}" || - -z "${commit_id}" ]]; then - echo "ERROR: env teamcity_build_checkoutDir or pull_request_num or commit_id not set" - exit 1 -fi +if [[ -z "${teamcity_build_checkoutDir}" ]]; then echo "ERROR: env teamcity_build_checkoutDir not set" && exit 1; fi +if [[ -z "${pull_request_num}" ]]; then echo "ERROR: env pull_request_num not set" && exit 1; fi +if [[ -z "${commit_id}" ]]; then echo "ERROR: env commit_id not set" && exit 1; fi +if [[ -z "${target_branch}" ]]; then echo "ERROR: env target_branch not set" && exit 1; fi # shellcheck source=/dev/null source "$(bash "${teamcity_build_checkoutDir}"/regression-test/pipeline/common/get-or-set-tmp-env.sh 'get')" @@ -123,7 +122,8 @@ exit_flag=0 if ! check_tpch_result "${teamcity_build_checkoutDir}"/run-tpch-queries.log; then exit 1; fi line_end=$(sed -n '/^Total hot run time/=' "${teamcity_build_checkoutDir}"/run-tpch-queries.log) line_begin=$((line_end - 23)) - comment_body="Tpch sf${SF} test result on commit ${commit_id:-}, data reload: ${data_reload:-"false"} + comment_body_summary="$(sed -n "${line_end}p" "${teamcity_build_checkoutDir}"/run-tpch-queries.log)" + comment_body_detail="Tpch sf${SF} test result on commit ${commit_id:-}, data reload: ${data_reload:-"false"} ------ Round 1 ---------------------------------- $(sed -n "${line_begin},${line_end}p" "${teamcity_build_checkoutDir}"/run-tpch-queries.log)" @@ -134,14 +134,15 @@ $(sed -n "${line_begin},${line_end}p" "${teamcity_build_checkoutDir}"/run-tpch-q if ! grep '^Total hot run time' "${teamcity_build_checkoutDir}"/run-tpch-queries.log >/dev/null; then exit 1; fi line_end=$(sed -n '/^Total hot run time/=' "${teamcity_build_checkoutDir}"/run-tpch-queries.log) line_begin=$((line_end - 23)) - comment_body="${comment_body} + comment_body_detail="${comment_body_detail} ----- Round 2, with runtime_filter_mode=off ----- $(sed -n "${line_begin},${line_end}p" "${teamcity_build_checkoutDir}"/run-tpch-queries.log)" echo "#### 5. comment result on tpch" - comment_body=$(echo "${comment_body}" | sed -e ':a;N;$!ba;s/\t/\\t/g;s/\n/\\n/g') # 将所有的 Tab字符替换为\t 换行符替换为\n - create_an_issue_comment_tpch "${pull_request_num:-}" "${comment_body}" + comment_body_summary="$(echo "${comment_body_summary}" | sed -e ':a;N;$!ba;s/\t/\\t/g;s/\n/\\n/g')" # 将所有的 Tab字符替换为\t 换行符替换为\n + comment_body_detail="$(echo "${comment_body_detail}" | sed -e ':a;N;$!ba;s/\t/\\t/g;s/\n/\\n/g')" # 将所有的 Tab字符替换为\t 换行符替换为\n + create_an_issue_comment_tpch "${pull_request_num:-}" "${comment_body_summary}" "${comment_body_detail}" rm -f result.csv ) exit_flag="$?" --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org