页眉内容
GP优化方案
一、 参数调整
1、块I/O参数 1)参数描述
此参数用来设置块设备参数。 2)现参数:
现没有设置块I/O参数。
3)加入参数: #vi /etc/rc.d/rc.local
blockdev --setra 16384 /dev/sdb
注:master、standby节点不需修改。
2、I/O调度算法
由于数据仓库属于IO敏感性应用,为了提高系统效率,生产环境中,我们应该在LINUX内核上修改IO调度的算法。以root身份编辑/boot/grub/menu.lst,添加一行
elevator=deadline,但是不要修改failsafe的定义,重启系统(必须),再以root身份执行命令cat /sys/block/*/queue/scheduler,输出的每行应该含有有[deadline]。 3、网络参数
GC.WO-1102
页眉内容
rmem_default — 默认的接收窗口大小。 rmem_max — 接收窗口的最大大小。 wmem_default — 默认的发送窗口大小。 wmem_max — 发送窗口的最大大小
使用 /etc/sysctl.conf 在系统启动时把参数配置成您所设置的值: net.core.rmem_default = 256960 net.core.rmem_max = 256960 net.core.wmem_default = 256960 net.core.wmem_max = 256960 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_sack = 0
net.ipv4.tcp_window_scaling = 1
然后重新启动网络守护程序/etc/rc.d/init.d/network restart。
4、系统参数(已完成) 1、参数描绘 cat /etc/security/limits.conf 2、现参数: * soft nofile 65536 * hard nofile 65536
GC.WO-1102
页眉内容
* soft nproc 131072 * hard nproc 131072 5、GP相关参数 #vi /etc/sysctl.conf
kernel.sem = 250 64000 100 512 kernel.shmmax = 500000000 kernel.shmmni = 4096 kernel.shmall = 4000000000 kernel.sem = 250 64000 100 512 kernel.sysrq = 1 kernel.core_uses_pid = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 net.ipv4.tcp_syncookies = 1 net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0 net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_max_syn_backlog=4096 net.ipv4.conf.all.arp_filter = 1 net.core.netdev_max_backlog=10000 net.ipv4.ip_local_port_range = 1025 65535
1、 kernel.shmmax = 7516192768 (8G,取物理内存16G的50%) 2、 kernel.shmall = 4000000000(物理内存16G时相应大小) GC.WO-1102
页眉内容
3、 kernel.sem = 250 64000 100 1024 6、GP参数
注:segment host上是4个primary instance,4个mirror instance. cat /gpmaster/gp-1/postgresql.conf
1、 shared_buffers(local, max_connections*16K) shared_buffers = 1600MB # master、standby shared_buffers = 200MB # segment
2、 work_mem(,global,物理内存的2%-4%) work_mem = 640MB # master、standby
3、 effective_cache_size(master节点,设为物理内存的85%,15032385536) effective_cache_size = 9600MB
4、 mainteance_work_mem(global,CREATE INDEX, VACUUM等时用到) maintenance_work_mem = 800MB
5、 max_connections(local,最大连接数) max_connections = 200 #(master、standby) max_connections = 1200 #(segment)
6、 max_prepared_transactions(local,与master最大连接数相同)
GC.WO-1102
页眉内容
max_prepraed_transacrions=300 #(master与segment instance相同) 二、 表整理(以kn_weblog_detail为例) 1、 表统计
select relname from pg_class t where t.relname like 'ods%'; select relname from pg_class t where t.relname like 'kn%'; 2、 VACUUM
VACUUM [ FULL | FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL | FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ] 3、 Analyze
ANALYZE [ table [ (column [, ...] ) ] ]
三、 按列存储优化(以kn_weblog_detail为例)
1、 建表:
create table temp_huagai_weblog_Detail_test (
id varchar(128) NULL, session_id varchar(120) NULL, ticket_id varchar(120) NULL, global_user_id int8 NULL, visit_date timestamp NULL, visit_day int8 NULL,
GC.WO-1102