baiwfg2 / awesome-readings

记录看各种文章、论文的心得
2 stars 0 forks source link

ClickHouse #33

Open baiwfg2 opened 3 years ago

baiwfg2 commented 3 years ago

[1] https://clickhouse.tech/blog/en/2021/performance-test-1/

baiwfg2 commented 3 years ago

【1】 不管要有micro-benchmark,也要有end-to-end test,且要用真实数据集 他们的PR 能够生成性能回归报告,这一点非常棒! 那如何判断性能确实改变了? 用到了统计方法,核心思想是将观察值和参考分布进行比较。简单时可用数学模型,复杂情况他们以前用历史数据做参考分布:对每种查询的run time 都存储起来。但是这种方式易受到环境影响

所以新方法是在相同机器上跑ref version 和test version, 并用 non-parametric bootstrap method to build a randomization distribution for the observed difference of median query run times. 来判断两个结果是否有偏差

对变化的原因,内部有一个 sampling profiler,将结果存储到系统表中,所以不需要用外部的perf (profiling 默认开启。难道不影响现上性能吗?)

历史测试数据还是会被保存,可以用来判断性能回退是在哪里引起的

Another important thing is that the user must be able to investigate a problematic query post-mortem, without running it again locally. This is why we try to export every metric and every intermediate result we have, in easily-manipulated plain text formats. 保证测试可以事后调查的,可以中间数据、metrics 都给保存起来