Clickhouse 查询优化器采样 (Sampling Query Profiler)

需要的条件:

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

https://github.com/Slach/clickhouse-flamegraph

https://github.com/samber/grafana-flamegraph-panel

你可能感兴趣的:(Clickhouse)