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

相关文章

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

Seata之分布式事务问题及解决方案

《Seata之分布式事务问题及解决方案》:本文主要介绍Seata之分布式事务问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Seata–分布式事务解决方案简介同类产品对比环境搭建1.微服务2.SQL3.seata-server4.微服务配置事务模式1

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基