数据仓库服务 GAUSSDB(DWS)-数据库系统参数调优:数据库内存相关参数
数据库内存相关参数
GUC参数 |
描述 |
建议 |
---|---|---|
max_process_memory |
max_process_memory设置单个CN/DN可用的最大物理内存。 |
|
shared_buffers |
设置DWS使用的共享内存大小。增加此参数的值会使DWS比系统默认设置需要更多的System V共享内存。 |
建议设置shared_buffers值为内存的40%以内。行存列存分开对待。行存设大,列存设小。列存:(单服务器内存/单服务器DN个数)*0.4*0.25。 如果设置较大的shared_buffers需要同时增加checkpoint_segments的值,因为写入大量新增、修改数据需要消耗更多的时间周期。 |
cstore_buffers |
设置列存和OBS、HDFS外表列存格式(orc、parquet、carbondata)所使用的共享缓冲区的大小。 |
列存表使用cstore_buffers设置的共享缓冲区,几乎不用shared_buffers。因此在列存表为主的场景中,应减少shared_buffers,增加cstore_buffers。 OBS、HDFS外表使用cstore_buffers设置ORC、Parquet、Carbondata的元数据和数据的缓存,元数据缓存大小为cstore_buffers的1/4,最大不超过2GB,其余缓存空间为列存数据和外表列存格式数据共享使用。 |
work_mem |
设置内部排序操作和Hash表在开始写入临时磁盘文件之前使用的内存大小。 |
该参数默认小规格内存为512MB, 大规格内存为2GB(max_process_memory大于等于30GB为大规格内存,否则为小规格内存)。 建议参数work_mem依据查询特点和并发来确定,一旦work_mem限定的物理内存不够,算子运算数据将写入临时表空间,带来5-10倍的性能下降,查询响应时间从秒级下降到分钟级。
|
maintenance_work_mem |
设置维护性操作(比如VACUUM、CREATE INDEX、ALTER TABLE ADD FOREIGN KEY等)中可使用的最大的内存。 |
建议设置此参数的值等于work_mem,可以改进清理和恢复数据库转储的速度。因为在一个数据库会话里,任意时刻只有一个维护性操作可以执行,并且在执行维护性操作时不会有太多的会话。 当自动清理进程运行时,autovacuum_max_workers倍数的内存将会被分配,所以此时设置maintenance_work_mem的值应该不小于work_mem。 |
- GaussDB数据库参数调优_GaussDB版本_高斯数据库参数调优
- GaussDB底层硬件_gaussdb介绍_高斯数据库底层硬件_华为云
- GaussDB性能怎么调_GaussDB性能调优_高斯数据库性能怎么调-华为云
- GaussDB内存_云数据库GaussDB内存_高斯数据库内存-华为云
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- GaussDB监控_GaussDB数据库监控_高斯数据库监控_华为云
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- GaussDB计算性能_gaussdb递归_高斯数据库计算性能_华为云
- GaussDB数据库设计_GaussDB教程_高斯数据库设计
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略