需要的条件:
1.开启设置
2.安装额外的软件:
# yum -y install clickhouse-client clickhouse-common-static clickhouse-server clickhouse-test clickhouse-common-static-dbg --enablerepo=clickhouse-testing
主要是安装软件包:
clickhouse-common-static-dbg 软件包较大
可视化可视化trace_log
信息:
1.采用go语言编写的flamegraph,较为成熟
2.使用python语言编写的speedscope (版本测试过3.5 和3.6.1),使用较为简单。
软件下载:
wget https://github.com/Slach/clickhouse-flamegraph/releases/download/v2020.4.0/clickhouse-flamegraph-2020.4.0-x86_64.rpm
Clickhouse> SELECT name,value,changed,min,max,readonly,type FROM system.settings WHERE match(name,'introspection|log_queries|profiler|sample') ;
SELECT
name,
value,
changed,
min,
max,
readonly,
type
FROM system.settings
WHERE match(name, 'introspection|log_queries|profiler|sample')
┌─name───────────────────────────────┬─value───────┬─changed─┬─min──┬─max──┬─readonly─┬─type──────────────────┐
│ log_queries │ 1 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ SettingBool │
│ log_queries_min_type │ QUERY_START │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ SettingLogQueriesType │
│ log_queries_cut_to_length │ 100000 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ SettingUInt64 │
│ query_profiler_real_time_period_ns │ 1000000000 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ SettingUInt64 │
│ query_profiler_cpu_time_period_ns │ 1000000000 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ SettingUInt64 │
│ memory_profiler_step │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ SettingUInt64 │
│ memory_profiler_sample_probability │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ SettingFloat │
│ allow_introspection_functions │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ SettingBool │
└────────────────────────────────────┴─────────────┴─────────┴──────┴──────┴──────────┴───────────────────────┘
8 rows in set. Elapsed: 0.007 sec.
参考:
https://clickhouse.tech/docs/en/operations/optimizing-performance/sampling-query-profiler/
https://github.com/laplab/clickhouse-speedscope