鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

数据库参数优化

目的

通过调整数据库的参数配置,可以有效提升服务器性能。

方法

表1 数据库调优参数

参数名称

参数含义

优化建议

gp_vmem_protect_limit

每个Segment数据库为所有运行的查询分配的内存总量。

每个节点的物理内存/每个节点primary Segment数量。

shared_buffers

磁盘读写的内存缓冲区。

不宜设置过大。

effective_cache_size

设置优化器假设磁盘高速缓存的大小用于查询语句的执行计划判断,主要用于判断使用索引的成本。

设置越大,优化器越倾向于走索引。

work_mem

设置每个Segment内存排序的大小。

work_mem大小根据每个节点上的active Segment设置,设置过大将导致swap。

temp_buffers

临时缓冲区,拥有数据库访问临时数据。

当需要访问大的临时表时,适当增加参数设置,可提升性能。

gp_fts_probe_threadcount

故障检测的线程数。

大于等于每个节点的Segment数。

gp_hashjoin_tuples_per_bucket

使用Hashjoin操作设置哈希表的目标密度。

此参数越小,hash_tables越大,可提升join性能。

gp_interconnect_setup_timeout

指定等待Greenplum数据库互连在超时之前完成设置的时间量。

在负载较大的环境中,应该设置较大的值。

gp_statement_mem

控制Segment数据库上单个查询可以使用的内存总量。

建议(gp_vmem_protect_limit*0.9) /Segment数据库上最大查询数。

gp_workfile_limit_files_per_query

如果SQL查询分配的内存不足,Greenplum会创建溢出文件,该参数控制一个查询可以创建多少个溢出文件。

超出溢出文件上线时,建议先优化SQL,数据分布策略及内存配置。

max_connections

最大连接数。

Segment建议设置成Master的5~10倍。

gp_set_proc_affinity

控制Master节点进程和Segment节点进程的CPU亲和性

建议设置成on,数据库在启动时自动进行绑核优化。