Greenplum 并发性能测试

Greenplum 并发性能测试

目录

Greenplum 并发性能测试 1

1 集群硬件信息 1

2 测试JAVA代码下载 2

3 单表单线程写入数据性能(测试案例一) 2

3.1 创建测试表 2

3.2 测试100W数据,每1000条提交一次 2

3.3 汇总测试结果 2

3.3.1 运行耗时 2

3.3.2 表的大小 2

3.3.3 表的行数 2

3.3.4 计算吐吞量 3

4 多表多线程写入数据性能(测试案例二) 3

4.1 创建测试表 3

4.2 测试4个线程,每个线程100W,每1000条提交一次 4

4.3 汇总测试结果 4

4.3.1 运行耗时 4

4.3.2 表的大小 4

4.3.3 表的行数 5

4.3.4 计算吞吐量 6

4.4 总结结果 6

5 单表多线程写入数据性能(测试案例三) 6

5.1 创建测试表 6

5.2 测试四个线程写入同一个表,每个线程100W,1000条提交一次 7

5.3 汇总测试结果 7

5.3.1 运行耗时 7

5.3.2 表的大小 7

5.3.3 表的行数 7

5.3.4 计算吞吐量 7

6 测试总结 8

7 TCP-H测试结果 8

 

1 集群硬件信息

硬件信息请查看以下链接

https://blog.csdn.net/xfg0218/article/details/82785196

 

2 测试JAVA代码下载

测试代码请下载:

链接: https://pan.baidu.com/s/1oOpPfuEDGMc9HboffH2ZGw 提取码: saf5

 

参考资料:https://blog.csdn.net/dinopan/article/details/81511974

3 单表单线程写入数据性能(测试案例一)

3.1 创建测试表

create table t_person4insert

(

id bigint,

name varchar(255)

)

distributed by(id);

3.2 测试100W数据,每1000条提交一次

请在代码中找到com.******.Person1Thread类即可测试

3.3 汇总测试结果

3.3.1 运行耗时

person cost = 2748667ms ÷ 1000 = 2748.667s 

3.3.2 表的大小

stagging=# select pg_size_pretty(pg_relation_size('t_person'));

 pg_size_pretty

----------------

 51 MB

(1 row)

3.3.3 表的行数

stagging=# select count(*) from t_person;

  count  

---------

 1000000

(1 row)

3.3.4 计算吐吞量

51 ÷ 2748667 × 1000 ≈ 0.0185M/S

1000000 ÷ 2748667  × 1000 ≈ 363.81行/S

 

4 多表多线程写入数据性能(测试案例二)

4.1 创建测试表

 

create table t_person4insert1

(

id bigint,

name varchar(255)

)

distributed by(id);

 

 

create table t_person4insert2

(

id bigint,

name varchar(255)

)

distributed by(id);

 

 

create table t_person4insert3

(

id bigint,

name varchar(255)

)

distributed by(id);

 

 

create table t_person4insert4

(

id bigint,

name varchar(255)

)

distributed by(id);

4.2 测试4个线程,每个线程100W,每1000条提交一次

请在代码中找到com.*****.Person4Thread类即可测试

4.3 汇总测试结果

4.3.1 运行耗时

四个线程整体的耗时为:3240611ms 3240 s

4.3.2 表的大小

4.2.2.1查看第一张表的大小

stagging=# select pg_size_pretty(pg_relation_size('t_person4insert1'));

 pg_size_pretty

----------------

 51 MB

(1 row)

4.2.2.2查看第二张表的大小

stagging=# select pg_size_pretty(pg_relation_size('t_person4insert2'));

 pg_size_pretty

----------------

 51 MB

(1 row)

4.2.2.3查看第三张表的大小

stagging=# select pg_size_pretty(pg_relation_size('t_person4insert3'));

 pg_size_pretty

----------------

 51 MB

(1 row)

4.2.2.4查看第四张表的大小

stagging=# select pg_size_pretty(pg_relation_size('t_person4insert4'));

 pg_size_pretty

----------------

 51 MB

(1 row)

 

Time: 31.728 ms

4.3.3 表的行数

4.3.3.1 查看第一个表的行数

stagging=# select count(*) from t_person4insert1;

  count  

---------

 1000000

(1 row)

 

Time: 66.177 ms

4.3.3.2 查看第二个表的行数

stagging=# select count(*) from t_person4insert2;

  count  

---------

 1000000

(1 row)

 

Time: 39.403 ms

4.3.3.3 查看第三个表的行数

stagging=# select count(*) from t_person4insert3;

  count  

---------

 1000000

(1 row)

 

Time: 39.403 ms

4.3.3.4 查看第四个表的行数

stagging=# select count(*) from t_person4insert4;

  count  

---------

 1000000

(1 row)

 

Time: 70.558 ms

4.3.4 计算吞吐量

51 ÷ 3240611 × 1000 ≈ 0.0157M/S

1000000 ÷ 3240611 × 1000 ≈ 308.58行/S

 

4.4 总结结果

以下是单线程结果

51 ÷ 2748667 × 1000 ≈ 0.0185M/S

1000000 ÷ 2748667  × 1000 ≈ 363.81行/S

 

以下是多线程结果

51 ÷ 3240611 × 1000 ≈ 0.0157M/S

1000000 ÷ 3240611 × 1000 ≈ 308.58行/S

 

四个线程的吞吐量比单线程慢了很多

 

5 单表多线程写入数据性能(测试案例三)

5.1 创建测试表

create table t_person4insertrange

(

id bigint,

name varchar(255)

)

distributed by(id);

5.2 测试四个线程写入同一个表,每个线程100W,1000条提交一次

请在代码中找到com.******.PersonRangegThread类即可测试

5.3 汇总测试结果

5.3.1 运行耗时

total cost = 3164341ms 3164s

5.3.2 表的大小

stagging=# select pg_size_pretty(pg_relation_size('t_person4insertrange'));

 pg_size_pretty

----------------

 200 MB

(1 row)

 

Time: 7.443 ms

5.3.3 表的行数

stagging=# select count(*) from t_person4insertrange;

  count  

---------

 4000000

(1 row)

 

Time: 162.728 ms

5.3.4 计算吞吐量

200 ÷ 3164341 × 1000 ≈ 0.063M/S

4000000 ÷ 3164341 × 1000 ≈ 1264行/S

 

6 测试总结

在以上的结果中可以看出使用多线程写入单个表的速度还是可以的,达到1264行/S

7 TCP-H测试结果

详细的测试结果请查看:

https://blog.csdn.net/xfg0218/article/details/82785187

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值