22014PivotalSoftware,Inc.
Allrightsreserved.
ThanksOnlinedocument:http://gptext.
docs.
pivotal.
io/DownloadGPText2.
0:https://network.
pivotal.
io/阿里云PivotalGreenplum最佳实践分享陈淼Pivotal大中华区大数据资深架构师目录Greenplum运维常见问题Greenplum运维常用命令Greenplum日常检查和故障处理Greenplum项目经验分享目录Greenplum运维常见问题Greenplum运维常用命令Greenplum日常检查和故障处理Greenplum项目经验分享内核参数通常情况下,内核参数按照GPDB安装手册配置,如需要增加连接数支持,以下参数需要增大kernel.
shmmax=1000000000kernel.
sem=2505120001002048Redhat6.
2以后,内核增加了hugepage大页内存管理,关闭hugepage可以提高混合负载管理性能设置办法:修改local脚本ForSUSE/etc/init.
d/boot.
localForRHLE/etc/rc.
d/rc.
local追加内容:blockdev--setra16384/dev/sd*foriin/sys/block/sd*/queue/scheduler;doechodeadline>$i;doneechonever>/sys/kernel/mm/transparent_hugepage/enabled一般不建议直接修改/boot/grub/grub.
conf文件或者/boot/grub/menu.
lst常用数据库参数参数名Master节点值Segment节点值checkpoint_segments3232max_connections5002500max_prepared_transactions5001000gp_fts_probe_timeout300s300smax_fsm_pages960000960000max_fsm_relations3000030000max_stack_depth4MB4MBgp_workfile_compress_algorithmzlibzlibmax_appendonly_tables5000050000gp_fts_probe_interval5min5mingp_external_max_segs1616gp_autostats_modeon_changeon_no_statsgp_autostats_on_change_threshold50000005000000gp_vmem_protect_limit32768(64G内存时,其他配置依据实际内存进行调整)16384(64G内存时,其他配置依据实际内存进行调整)gp_segment_connect_timeout10min10minlog_min_duration_statement3000030000statement_timeout24h24hdefault_statistics_target1515gp_workfile_limit_per_query256GB256GBsuperuser_reserved_connections50NAInstance实例数的配置建议Instance是GPDB的最小并行单元,每个Segment节点一般配置4~8个Instance,初始化完成后很难修改,需要提前规划;每个Instance都是一套独立的进程,当客户端发起一个请求时,每个Instance都将FORK子进程并行工作;对于并发请求高、面向于复杂的灵活查询的系统,建议每个Segment配置4个或以下Instance,这样来保证每个Instance所需资源,保证系统系统运行稳定性,例如,减少OOM发生的概率;对于以批处理、串行工作为主的系统,可以配置到8个Instance,这样可以尽可能的发挥每个CPU的处理性能.
SegmentServer:MirrorSpreadvsGroupGPDBGPDBGPDBGPDBP1P2P3P7P8P9P13P14P15P19P20P21SegmentServer1SegmentServer2SegmentServer3SegmentServer4SetofActiveSegmentInstancesP4P5P6P10P11P12P16P17P18P22P23P24M1M2M3M4M5M6M7M8M9M10M11M12M13M14M15M16M17M18M19M20M21M23M24M22统计信息收集对于系统表和用户表需要收集统计信息,GPDB的查询计划是costbase的,统计信息的准确性对查询计划的优劣有很大影响;对于字段数较多的表,可关闭gp_autostate_mode(on_no_stats=>none),仅对必要列执行Analyze,只在结果中返回的列无需收集统计信息;对于频繁创建表删表的系统,可关闭gp_autostate_mode(on_no_stats=>on_change),数据变化量达到一定阀值才收集统计信息;–gp_autostats_mode=on_change–gp_autostats_on_change_threshold=5000000(资料依据项目而定)Truncate操作不会丢失字段级统计信息,在适当条件下可仅针对系统字段执行Analyze垃圾空间回收GPDB采用MVCC机制,UPDATE或DELETE并非物理删除,而只是对无效记录做标记;Update/delete操作后,数据库不会自动释放这些空间,这些垃圾空间的回收方式:1)Vacuum2)Vacuumfull3)REORGANIZE不进行垃圾空间回收的影响o垃圾空间浪费存储空间o垃圾空间影响查询性能注:deleteall用truncate代替,truncate无需回收垃圾空间垃圾空间回收Vacuum:标记垃圾空间为可再利用Vacuum用于将数据表垃圾空间标记到FSM(自由空间映射),一般也不回收空间,当往该表插入新数据时,数据库会重新这些空间.
FSM驻留在内存中,FSM的大小必须足够标记数据库中的所有过期记录.
如果尺寸不够大,超出自由映像空间的过期记录占用的空间将无法被VACUUM命令标记.
可通过修改max_fsm_pages、max_fsm_relations放大这些参数VacuumFull/REORGANIZE:立即释放垃圾空间还给操作系统VacuumFull相当于碎片整理;Reorganize相当于重建表,数据表对应的文件名(pg_class->relfilenode)将会发生改变.
VacuumFull的处理性能非常低,一般情况下不建议采用,可以用Reorganize代替、或者使用AO表;系统表不支持Reorganize操作,因此,需要定期vacuum,例如设置定时作业,每周对所有系统表vacuumanalyze一次查询视图GP_TOOLKIT.
GP_BLOAT_DIAG可监控垃圾空间的膨胀系数REINDEX:回收索引的垃圾空间AGE监控和管理PostgreSQL的MVCC事务语意依赖于比较事务ID(XID)的数值:一条带有大于当前事务的XID的插入XID的行版本是―属于未来的‖,并且不应为当前事务可见.
PostgreSQL使用特殊的XID(FrozenXID)与普通的XID进行区分.
FrozenXID总是被认为比任何普通的XID旧.
GPDB中关闭了Autovacuum(GPDB4.
2.
6UPPER)Age的监控:xid_warn_limit:500000000(5亿),AGE大于5亿自动告警xid_stop_limit:1000000000,AGE大于10亿停止工作,等待vacuum执行数据库对象数上限的最佳实践GPDB内部的对象:所有的表(包括分区表)、索引、视图等都称为对象GPDB最佳实践所推荐的对象管理要求是:一个数据库内对象不要超过100000个最佳实践是出于对系统性能和稳定性因素建议对pg_class所维护的对象数进行约束减少对象数的方法:–提高分区粒度–避免大范围使用列存储pg_class对象数如果不进行约束,可能会产生以下问题:–gprecoverseg–F效率低,数据库实例修复如果增量同步失败,我们一般会建议使用gprecoverseg–F进行全量同步,全量同步是在两个节点之间全量拷贝文件,超过100000个对象,在数据目录下地文件数会可能达到上百万个档,这些文件的拷贝需要花费很长时间–使用gpexpand扩容节点时,对象数多,对应到每个实例下的文件数非常多,将这些目的档重分布到新扩展的节点时间会很长–系统表(pg_class,pg_attribute)太大,影响系统工作效率–系统元数据检查pg_checkcat等工具运行时间比较长物理模型经验分享物理模型对于系统性能有很大影响,因此需要我们特别关注.
以下来自于在某大型银行的使用经验:行存储和列存储:避免过多使用列存储的原因是防止小档数过多.
列存储能够提升查询性能,对于更新和全字段类操作性能反而会下降对于少数频繁查询的宽表,例如交易表、帐户表、客户表等采用列存储,其它表采用行存储数据压缩:在金融业,行压缩的数据压缩比在1:6左右,一般采用zlib5级压缩数据压缩对于高并发查询分析系统可以大幅降低IO消耗,提升并行处理、混合负载的性能分布键使用:尽量采用一个常用关联字段作为分布键,例如账号、客户号,这个可以提高关联条件的命中率,减少关联时数据重分布(主要对大表)选用分布键同时考虑数据平均分布(一个例子,日志号不是最好的分布键,大量的空值导致资料倾斜)物理模型经验分享(续)分区表使用:不建议使用二级分区,二级分区不便于管理,而且Parser效率较低;二级分区可以用一级分区+Bitmap方式替代,例如按照"发生日期"做分区,然后在机构字段上将bitmap索引对于1亿条记录以下的表不分区(对于小系统,该阀值适当调低)索引使用:以数据批处理为主要功能的系统一般不需建索引以并发查询为主要功能,特别OLTP查询(根据KEY,Attribute等作为筛选条件)的系统按照常用字段建索引.
官方网站:点击访问亚州云活动官网活动方案:地区:美国CERA(联通)CPU:1核(可加)内存:1G(可加)硬盘:40G系统盘+20G数据盘架构:KVM流量:无限制带宽:100Mbps(可加)IPv4:1个价格:¥128/年(年付为4折)购买:直达订购链接测试IP:45.145.7.3Tips:不满意三天无理由退回充值账户!地区:枣庄电信高防防御:100GCPU:8核(可加)内存:4G(可加)硬盘:...
由于行业需求和自媒体的倾向问题,对于我们个人站长建站的方向还是有一些需要改变的。传统的个人网站建站内容方向可能会因为自媒体的分流导致个人网站很多行业不再成为流量的主导。于是我们很多个人网站都在想办法进行重新更换行业,包括前几天也有和网友在考虑是不是换个其他行业做做。这不有重新注册域名重新更换。鉴于快速上手的考虑还是采用香港服务器,这不腾讯云和阿里云早已不是新账户,考虑到新注册UCLOUD账户还算比...
老周互联怎么样?老周互联隶属于老周网络科技部旗下,创立于2019年12月份,是一家具有代表性的国人商家。目前主营的产品有云服务器,裸金属服务器。创办一年多以来,我们一直坚持以口碑至上,服务宗旨为理念,为用户提供7*24小时的轮班服务,目前已有上千多家中小型站长选择我们!服务宗旨:老周互联提供7*24小时轮流值班客服,用户24小时内咨询问题可提交工单,我们会在30分钟内为您快速解答!另免费部署服务器...