oracle压测sql,PostgreSQL vs. Oracle DML 独立压测

一、压测目的

前面使用Sysbench 默认事务模型,已经对PG和Oracle进行了压测,在性能上没有明显的区分度。

为了更细粒度了解PG和oracle分别在insert,update,delete上的区别,特进行此次压测。另外也是为了Oracle向PG迁移时,提供基本性能数据支持。

二、压测结果

此次压测,PG和Oracle位于相同主机上,压测时分别独立进行。

PG版本:Portions Copyright (c) 2004-2013, EnterpriseDB Corporation  9.3AS

Oracle版本:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

硬件配置如下:

CPU:Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz,12 cores,24lcpu

内存:PG shared_buffer 为20G,其它默认; Oracle SGA 20G,PGA 2G,Shared pool 2G,其它默认

硬盘:同为SSD存储,INTEL SSDSC2BB480G4 447G,8个盘做了Raid 5

压测详细结果如下:

1.Insert

单独insert压测,PG比Oracle的性能要好。PG可以达到33.8K tps,而Oracle只能达到23.5K左右。Oracle主要等待在"buffer busy wait"和“enq:TX-index contention"上。

原因是:ID采用sequence取值,为了性能,已经加cache 2000。但是索引树右侧扩展时,”9-1“分裂为主要性能影响点。另外ID取值离散后,应该也会有性能上提升。

b9fb32228ee0a1816053fb3dc9892c47.png

2.Update不带索引列

Update不带索引列时,Oracle性能比PG要好,Oracle最高能达到42K tps,PG在36K左右。达到高点后,两都均表现非常稳定。

f3421401652a5ef52f79740b93a8f7ff.png

3.Update带索引列

Update带索引列时,PG比Oracle稍好,PG最高在42.5K,Oracle达到40K tps。

1a3741f3ab22a230ded990b7775fcc16.png

4.Delete

delete操作时,Oracle的性能也比PG要好。Oracle能达到73.3K,而PG在65.4K左右。

8e8a1b712563359abadd07f18e7dbf44.png

三、压测总结

以上各种测试,IO完全没有问题,到最后,基本上是Oracle和PG在内存结构与算法上的比较。到达高点后,CPU使用均在100%左右;而后随着连接并发数增大,CPU sys不断提升。这在预期之内,

因并发数增大后,CPU switch 增加。另外,达到高点后,Oracle和PG性能表现都非常稳定。下次将对复杂SQL,如嵌套查询,表关联等进行压测。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值