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的情況下),集群的性能不如單機的性能;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM