clickhouse调优配置
一、官方文档地址
clickhouse的配置项主要在 config.xml 或 users.xml 中, 基本上都在 users.xml 里
config.xml
https://clickhouse.tech/docs/en/operations/server-configuration-parameters/settings/
users.xml
https://clickhouse.tech/docs/en/operations/settings/settings/
二、建表优化
2.1、数据类型选择:
时间字段 | 使用DateTime类型,不要用字符串,clickhouse底层将DateTIme存为时间戳Long类型,但不建议使用Long类型,DateTime方便用于分区,只需要使用toYYYYMMDD(time)或者toDate(time),便可实现按天分区; |
---|---|
空值存储 | 官方指出Nullable类型会拖累性能,因为存储Nullable列时需要创建一个额外的文件来存储Null值的标记,并且Nullable列无法被索引。可用空字符串或者指定一个业务中无意义的值(例如-1表示无用id); |
2.2、分区和索引选择:
分区粒度 | 一般选择按天分区 |
---|---|
索引列选择 | 1:查询条件中经常被用来当筛选条件的属性; 2:可以是单一维度,也可以是组合维度的索引; 3:查询频率大的在前; 4:基数特别大的不适合做索引(例如id); |
2.3、表参数:
TTL(生命周期) | 指定TTL可以免去手动删除过期历史数据的麻烦,可以通过alter修改; |
三、配置优化
3.1、CPU资源配置:
background_pool_size | 后台线程池大小,merge线程就是在里这执行,默认16,建议设置为cpu个数的2倍; |
---|---|
background_schedule_pool_size | 执行后台任务的线程数,默认128,建议设置为cpu个数的2倍; |
background_distributed_schedule_pool_size | 为分布式发送执行后台任务的线程数,默认16,建议改成cpu个数的2倍; |
max_concurrent_queries | 最大并发处理的请求数,默认100,建议150~300; |
max_threads | 单个查询所能使用的最大cpu个数,默认是cpu核数; |
3.2、内存资源配置:
max_memory_usage | 单次query占用内存的最大值,可以设置大一点,提升集群查询性能; |
---|---|
max_bytes_before_external_group_by | group by使用存储超出该阈值后会刷新到磁盘进行(tmp目录),不设置时超出则报错; |
max_bytes_before_external_sort | order by使用内存超出阈值就溢写磁盘,不设置时超出则报错; |
max_table_size_to_drop | 限制删除该数据量以上的分区表,建议修改为0,不限制删除; |
四、写入和删除优化:
4.1:尽量不执行单条或小批量的删除和插入操作,会产生小分区文件,merge压力大;
4.2:不要一次写入太多分区,或写入太快(merge跟不上会报错,clickhosue默认使用了WAL提高写入性能的方式来处理);
相关文章:
clickhouse调优配置
一、官方文档地址 clickhouse的配置项主要在 config.xml 或 users.xml 中, 基本上都在 users.xml 里 config.xml https://clickhouse.tech/docs/en/operations/server-configuration-parameters/settings/ users.xml https://clickhouse.tech/docs/en/operatio…...

pdf文件打开后部分文字无法显示
场景:pdf文件在系统内预览正常,但是下载到本地电脑上,使用wps查看,部分标题会消失,只有标题里面的数字还能显示出来 经过一系列排查,发现查看的电脑上缺失了字体,使用wps查看时,缺失…...

MCS-51单片机温度控制系统的设计
一、项目介绍 注塑机是一种常用的制造设备,用于生产塑料制品。在注塑机的工作过程中,溶胶必须达到一定的温度才能被注入模具中进行成型。因此,在注塑机的生产过程中,温度控制是非常重要的一环。 本项目基于MCS-51单片机设计了一…...

Xcode,swift:Error Domain=kCLErrorDomain Code=1 (null)问题解决
问题描述: iOS开发时,当使用用户的位置权限时,获取用户经纬度报错:Error DomainkCLErrorDomain Code1 "(null)",错误域kCLError域代码1“(null)” 解决方法: 打开模拟机的设置-通用-语言与地区 将地区设置为中国(如果你的开发位置在中国的话) 点击左上方Features,选择…...

0013Java程序设计-springboot教材图文内容审核系统
摘 要目 录第1章 绪论1.1 研究背景与意义1.2 研究内容1.3 论文组成结构 系统实现用户登录模块的实现后台管理系统登录模块的实现投稿信息的实现 开发环境 摘 要 《教材图文内容审核系统》课程案例库研究系统系统主要功能模块包括投稿信息、打卡记录、新闻资讯等,采…...

Unable to remove Temporary User Data
错误截图 原因 项目的临时数据目录是存在了未授权的盘符,当删除它的时候,遇到了权限问题,没有权限没法删除。 解决方法 增加字段:userDataDir 解决...

Rocky(Centos)安装中文字体(防止中文乱码)
1、查看字体列表 运行下列命令 fc-list 若出现,下面截图,则需要安装字体管理软件 安装字体库,运行: yum -y install fontconfig 当看到下图的提示信息时说明已安装成功: 二、添加中文字体 1)window…...

O2OA(翱途)开发平台 V8.1正式发布
尊敬的O2OA(翱途)平台合作伙伴、用户以及亲爱的开发小伙伴们,平台 V8.1版本已正式发布。正值8月的最后一周,我们以更安全、更高效、更好用的崭新面貌迎接9月的到来。 O2OA开发平台v8.1版本更注重于对系统级别的安全防护。其中重大的更新,是对…...

差异化竞争阵地的所在【周技术进阶】-从BS 项目C#最基础截取字符串方法开始
效果 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleAppNumberOneHelloWorld {class Program{static void Main(string[] args){Console.WriteLine("hello world…...
docker安装在linux下的docker安装操作步骤完整版
参考文档:http://wed.xjx100.cn/news/151901.html?actiononClick 第一步,卸载历史版本。这一步是可选的,如果之前安装过旧版本的Docker,可以使用如下命令进行卸载: yum remove docker \docker-client \docker-client…...

elasticsearch的搜索补全提示
当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项 拼音分词器 下载 要实现根据字母做补全,就必须对文档按照拼音分词,GitHub上有拼音分词插件 GitHub - medcl/elasticsearch-analysis-pinyin: This Pinyin Analysis plugin…...

AJAX学习笔记7 AJAX实现省市联动
需求:网页上选择对应省份之后,动态的关联出该省份对应的市.选择对应的市之后,动态的关联出该市对应的区 关于省市区全国三级Mysql数据:全国省市区三级地区MySQL数据_biubiubiu0706的博客-CSDN博客 页面加载完毕显示所有省份 <!DOCTYPE html> <html lang&…...

国商佳美合作火山引擎数智平台 助推深圳餐博会及美博会数字化升级
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 近日,深圳市国商佳美展览有限公司(以下简称“深圳国商佳美”)与火山引擎数智平台VeDI达成合作,双方将聚焦于2023年11…...

数据结构与算法学习(day4)——解决实际问题
前言 在本章的学习此前,需要复习前三章的内容,每个算法都动手敲一遍解题。宁愿学慢一点,也要对每个算法掌握基本的理解! 前面我们学习了简化版桶排序、冒泡排序和快速排序三种算法,今天我们来实践一下前面的三种算法。…...
PG库列类型转换
首先自定义两个函数,其中try_cast_numeric函数是将字符类型转成数字类型,try_cast_timestamp函数是将字符类型转成时间戳类型。 create or replace function try_cast_numeric(p_in text, p_default numeric default null)returns numeric as $$ beginb…...
vue3中的reactive赋值问题
问题 当通过方法对reactive变量修改的时候,发现页面上的值没有及时更新? 解决方法 具体原因: 上面这样赋值检测不到,因为响应式的是它的属性,而不是它自身. 方法1: 单个赋值 如下: let obj reactive({name: zha…...
thinkphp 操作远程oracle遇到的相关坑
坑一:没有内置oracle 解决方法: 1,下载think-oracle 扩展,资源很多,百度即可下载,分别放置于db下的connector 和 builder 文件夹下 2,安装oracle本地客户端,一搜一大把,核…...

流媒体之推流和拉流
推流:将直播内容推送至服务器的过程 拉流:为服务器已有直播内容,用指定地址进行拉取的过程 什么是推流? 推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”…...

浏览器中怎样查看前后端传值
路径:F12–>Network -->Fetch/XHR,选择一个接口地址。 在payload里面是前端发送给后端的参数。也即客户端发送给服务端的请求数据,即接口地址入参。 Preview和Response里都是后端返回给前端的。Preview是格式化过的,比较容易看。Resp…...

计算机竞赛 基于深度学习的人脸表情识别
文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸表情识别 该项目较…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...

Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)
错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...

STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...