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

相关文章

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

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

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

MYSQL事务死锁问题排查及解决方案

《MYSQL事务死锁问题排查及解决方案》:本文主要介绍Java服务报错日志的情况,并通过一系列排查和优化措施,最终发现并解决了服务假死的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录问题现象推测 1 - 客户端无错误重试配置推测 2 - 客户端超时时间过短推测 3 - mysql 版本问

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)