AnalyticDB PostgreSQL POC流程

客户面临的问题:

  1、数仓是基于传统的hadoop或者orcale搭建,需要做查询加速;

  2、使用商业数仓建设的,例如Teradata、Greenplum等,有信创的要求,加入ADB PG;

POC的范围:

  1、性能

    -客户有单并发测试的要求,进行单表查询或者复杂查询;

    -客户有高并发作业,例如并行跑批作业、小查询高QPS的查询;

    -客户需要数据加载和卸载的测试;

    -客户需要测扩展线性比,例如从10台主机拓展成20台主机,性能的提升是多少,一般ADB PG的线性比在0.8以上;

  2、功能,以演示加截图的方式进行

    -运维管理

      =集群管理:常规管理、扩缩容、参数配置、版本升级

      =租户管理

      =账号/权限管理

      =监控告警

      =备份恢复

      =日志管理:审计日志、错误日志、慢日志

    -兼容性

      =SQL兼容性、其他对象兼容性:针对ORACLE,AP和TP共用同一个ORACLE环境,将AP迁移到ADB PG,需要考察ADB PG和ORACLE SQL的兼容度以及表、视图、存储过程的兼容性

      =BI工具兼容性、HADOOP生态兼容性:用ADB PG做HADOOP查询加速和冷热数据分离,能不能直接访问HDFS做查询的加速

    -数据同步:通过DTS做全量和实时的数据同步

    -内核功能:

      =行/列存的格式和压缩算法、压缩比

      =分区表类型、灵活的分区策略、维护管理便捷性和分区裁剪

  3、稳定性

    -超负荷大作业:承受20个并发的作业,会跑30个或者更多来考察内核的稳定性

    -不合理大作业:例如笛卡尔积

    -破坏性测试:管控HA方面的能力

POC的流程

  1、产品介绍

  2、方案沟通:POC范围、时间规划、资源环境

  3、POC准备:部署形态、软件版本、工具、部署和测试脚本、数据模型

  4、POC入场:环境准备、环境搭建,例如账号申请等

  5、启动测试:数据加载、性能测试、功能测试、稳定性测试

  6、整理报告

  7、汇报结果

实例选型

  1、选型因素:部署形态

    -专有云
    -DBStack(混部3+N):3台主机做底座,其中2台用来做Master,另外一台做混布,已达到充分利用资源
    -纯软:更灵活,做Master等的混布
  2、
选型因素:性能维度
    -
资源(CPU+MEM)高并发场景,建议选择单节点大的计算规格或者使用Multi-Master
    -存储介质:高性能场景,建议选择ESSD或SSD存储,金融行业客户会提供机器,PK相对公平和统一标准 

  3、选型因素:容量维度
    MPP架构,计算能力及存储容量,随节点数线性增加

  4、规格计算示例:以存储预留模式的单节点4core SSD存储为例,单节点存储容量320GB。假设客户数据量为4TB,且一般预留30%水位,那需要规划4TB/(1-30%)/320GB,即实例至少为18个节点。

系统内核参数:

  关闭huge page

    echo never>/sys/kernel/mm/transparent hugepage/enabled

  vm.overcommit memory设置为2,使用swap空间

  gp_max packet size=8192,MTU=9000个别场景下gp_max_packetsize=8192会导致集群网络通信异常

    比如:专有云hotfix:v3.13.0r-rds-SP009使用gp_max_packetsize=1450和MTU=1500的组合

  XFS是ADB数据库数据目录的最佳实践文件系统。挂载选项:rw,noatime,inode64

  blockdev预读尺寸应该被设置为16384
    /sbin/blockdev-getra/dev/sdb 16384
  IO调度器deadline

    cat/sys/block/sdb/queue/scheduler noop anticipatory[deadline]cfq

配置参数

cat /etc/sysctl.conf

kermel.core uses pid=1

kernel.msgmax =65536
kemel.msqmnb=65536
kernel.pid _max =262144
kernel.printk=5417
kernel.randomize va_space =1
kermel.sem =4096 2147483647 2147483646 512000
kernel.shmall =4294967296
kernel.shmmax =68719476736
kernel.sysrq=0
net.core.netdev_max backlog =10000
net.core.rmem default=262144
net.core.rmem_max=16777216
net.core.somaxconn=4096
net.core.wmem_ default=262144
net.core.wmem_max =16777216
netipv4.confall accept redirects=0
net.ipv4.confall.arp announce=2
net.ipv4.confall.arp_ignore=1
net.ipv4.confall.rp filter=1
net.ipv4.confall.secure .redirects=0
netipv4.confall.send redirects=0
net.ipv4.conf default accept redirects=0
netipv4.conf default accept source route=0
net.ipv4.conf default.rp filter=1
netipv4.conf default secure redirects=0
netipv4.confdefault send redirects=0
netipv4.conflo.arp announce=2
net.ipv4.conflo.arp_ignore=1
netipv4.ip forward=1
netipv4.ip Jocal port range =42000 62000
net.ipv4.ip local reserved ports =41000-41100
netipv4.tcp max syn backlog=4096
netipv4.tcp .mem =8388608 12582912 16777216
netipv4.tcp rmem=8192 87380 16777216
net.ipv4.tcp synack retries=2
net.ipv4.tcp_syncookies=0
netipv4.tcp.wmem =8192 65536 16777216
vm.max map count=655300
vm.min free kbytes=400000
vm.overcommit_memory=0

posted @ 2022-03-25 10:59  学知行者  阅读(348)  评论(0编辑  收藏  举报