Postgresql集群解决方案测试报告

2024-06-02 17:38

本文主要是介绍Postgresql集群解决方案测试报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

1 测试主体

      本次测试的主体有3个,分别为:

  • GreenPlum集群,下文简称为GP
  • Postgres-XC集群,下文简称为XC
  • Postgresql单数据库实例,下文简称为pgsql

  GP和XC都选用目前在互联网上可以下载到的最新版本。不同集群所基于的postgresql数据库版本不同,并且,postgis的版本也不相同。版本说明见下表:

测试主体

版本

Postgresql版本

Postgis版本

GP

4.3.8.2

8.2.15

2.0

XC

1.0.4

9.1.13

2.1

pgsql

9.1.13

9.1.13

2.1

 

  所有的环境均搭建在7层机房6台(编号1-6)1U的服务器上,各台服务器的配置如下:

参数项

配置

CPU

32核

内存

64G

磁盘

4块7200转SATA,未做RAID

网络

4块千兆网卡,1和2作MODE=2的绑定,3和4各连一个交换机,各组一个局域网

 

  GP集群采用1个master(运行在编号1的服务器/dev/sda上),6个segment host(对应编号1-6的服务器)的组织方式,每个segment host启动3个实例,分别位于不同的物理磁盘上(/dev/sdb 、/dev/sdc 、/dev/sdd)。

  XC集群采用1个gtm(运行在编号1的服务器上),1个gtm_standy(运行在编号1的服务器上),4个gtm_proxy(对应编号3-6的服务器),4个coordinator(对应编号3-6的服务器),4个datanode(对应编号3-6的服务器)的组织方式。coordinator运行于/dev/sda,datanode运行于/dev/sdb。

  Pgsql采用XC集群中编号3服务器上运行的datanode。

2测试目标

    测试并对比三个测试主体的入库、查询性能。

3测试方法

    本次测试使用了三个测试工具:

  1. 使用pgbench测试不同压力条件下,复杂面状要素的入库效率
  2. 使用org2ogr测试不同客户端连接数条件下,fgdb文件的入库效率。fgdb有要素1178840条,820M。
  3. 使用tpc-H测试固定大小非空间数据的入库效率
  4. 使用tpc-H测试复杂查询的查询效率

4测试结果

4.1 pgbench测试结果

测试主体

连接数

3分钟插入记录数

每秒事务数

XC

1

7581

42

4

15535

86

12

27371

152

24

43422

241

2*24

70588

195

4*24

84000

118

GP

1

1050

6

4

2757

15

12

3740

20

24

4040

22

48

4039

22

pgsql

1

13140

73

4

21537

119

12

20944

116

24

21366

117

4.2 ogr2ogr测试结果

测试主体

org2ogr进程数

总耗时(unit=m)

XC

2

34

4

34

8

32

16

32

32

35

40

36

40+32+32

50

40+30+30+30

61

pgsql

2

25

4

25

8

23

16

23

32

35

40

55

GP

4

57

8

61

20

120

40

150

 

4.3 tpc-H入库测试结果

    使用tpc-H将8张总大小为200G,总记录数约1.7亿的数据入库。耗时情况如下:

 

XC(unit=m)

GP(m)

Pgsql(m)

耗时

8.05

6.8

21.9

 

4.4 tpc-H 查询测试结果

    

查询SQL编号

XC(unit=s)

GP(s)

pgsql(s)

1

timeout

14

timeout

3

123

18

57

4

144

1

17

6

3

1

12

7

228

18

64

8

110

5

39

10

timeout

1

76

11

27

1

22

12

22

1

38

14

timeout

1

13

15

1

1

28

16

21

5

37

17

23

51

1

18

18

5

191

19

timeout

6

40

20

3

1

timeout

 

5测试结论

  1. 可能是postgis版本较低的原因,GP处理空间数据的效率不高。正如4.1与4.2中所反映,入矢量数据效率较低。XC处理空间数据的性能要优于GP。
  1. 对于小事务的扩展能力,XC的性能最好。这得宜于它的架构支持多个coordinator,使得将客户连接负载均衡到不同的协调器中;
  2. GP作为决策支持型数据库,对于大数据量的查询分析,效率很高;
  3. 如果事务数非常少(以本例来看,在小于20-30的情况下),集群的性能不如单机的性能;

这篇关于Postgresql集群解决方案测试报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1024643

相关文章

大型网站架构演化(四)——使用应用服务器集群改善网站的并发能力

使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去更换更强大的服务器,对大型服务器而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求。这种情况下,更恰当的做法是增加一台服务器分担原有服务器的访问及存储压力。 对网站架构而言,只要能通过增加一台服务器的方式改善负载压力,就可以以同样的方式持续增加服务器不断改善系统性能,从而实现系统

免费内网穿透工具 ,快解析内网穿透解决方案

在IPv4公网IP严重不足的环境下,内网穿透技术越来越多的被人们所使用,使用内网穿透技术的好处有很多。 1:无需公网ip 物以稀为贵,由于可用的公网IP地址越来越少,价格也是水涨船高,一个固定公网IP一年的成本要上万,而使用内网穿透技术则不需要公网IP的支持。 2:提高安全性 使用内网穿透技术,无需在路由器映射端口,我们知道黑客通常会使用端口扫描来寻找攻击对象,不映射端口能大大提高服务器的安全

分布式事务的解决方案(一)

前言应用场景 事务必须满足传统事务的特性,即原子性,一致性,分离性和持久性。但是分布式事务处理过程中, 某些场地比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证? 在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外, 还得去商家账户表中找到这个商家并扣除广告费吧,怎么保证? 一 本地事务 以用户A

Android 10.0 系统开机重启桌面时钟小部件widget加载慢解决方案

1.前言 在10.0的系统rom产品定制化开发中,在Launcher3桌面系统默认会有时钟widget小部件显示在首屏的,但是发现在开机过程 中会显示的好慢,等进入桌面了 还没显示,所以接下来分析下相关的源码流程,来实现相应的功能 2.系统开机重启桌面时钟小部件widget加载慢解决方案的核心类 frameworks\base\services\appwidget\java\com\andr

Solr集群的搭建和使用(2)

1   什么是SolrCloud   SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使  用SolrCloud来满足这些需求。   SolrCloud是基于Solr和Zookeeper的分布式搜索

redis哨兵、集群

1. 安装Redis3.0 yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl   mkdir -p /usr/local/src/Redis cd /usr/local/src/redis wget http:/

【建设方案】基于gis地理信息的智慧巡检解决方案(源文件word)

传统的巡检采取人工记录的方式,该工作模式在生产中存在很大弊端,可能造成巡检不到位、操作失误、观察不仔细、历史问题难以追溯等现象,使得巡检数据不准确,设备故障隐患得不到及时发现和处理。因此建立一套完善的巡检管理系统是企业实现精细化管理的一项重要工作。 基于GIS地理信息系统绘制常规巡检线路,设置线路巡检频率,当线路处于激活状态时,可根据已设置的频率自动生成巡检线路任务,并以消息的形式推送给执行人,

uni-pay 2.x:一站式支付解决方案,让支付变得简单高效

一、引言 在移动互联网时代,支付功能已成为各类应用不可或缺的一部分。然而,支付功能的开发往往伴随着复杂的流程和高昂的成本,特别是在对接微信支付、支付宝支付等主流支付渠道时,前端后端的开发工作量和出错率都较高。为了简化这一过程,uni-pay应运而生,并以其高效、易用的特性受到了广大开发者的青睐。最近,uni-pay又升级到了2.x版本,进一步增强了其功能性和易用性。 二、uni-p

八爪鱼现金流-029,网站裂变解决方案,10hongbao

现在完成renwu,可以得10hongbao !!! 八爪鱼现金流 八爪鱼 背景: 个人开发者tuiguang 项目。一个用户推给两个用户,两个用户又分别推给两个用户,就实现了指数级增长。 业务场景分析: 用户zhuce账号 -----> 用户获得tuijian码 -----> 推给其他用户zhuce–>zhuce页面添tuijian码 步骤: 1.用户zhuce,查看活动详情,

client-go入门之1:创建连接Kubernetes集群的客户端

文章目录 简介使用 简介 我们可以使用Dashboard或kubectl来访问k8s的API,也可以使用编程语言,如Go,Java,Python作为客户端来访问k8s。client-go是一个使用go语言编写的库,用来连接k8s集群并对集群资源进行操作。 使用 以下代码使用go连上k8s集群,并查询集群的节点信息: package mainimport ("fmt"meta