ITPub博客

首页 > 数据库 > PostgreSQL > PostgreSQL vs. Oracle DML 独立压测

PostgreSQL vs. Oracle DML 独立压测

原创 PostgreSQL 作者:jesselyu 时间:2015-01-06 19:38:08 1 删除 编辑

一、压测目的

      前面使用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取值离散后,应该也会有性能上提升。

clip_image001

2.Update 不带索引列

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

clip_image002

3.Update 带索引列

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

clip_image003

4.Delete

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

clip_image004

三、压测总结

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

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30088583/viewspace-1392455/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
资深Oracle RAC及Exadata部署实施运维专家,曾从事PostgreSQL内核开发与性能优化。丰富的大规模数据库管理架构设计经验。目前在阿里巴巴从事数据库架构工作以及新技术引进,对分布式存储,云计算及并行编程有一定研究。技术讨论请加微信:ljs521688

注册时间:2015-01-01

  • 博文量
    43
  • 访问量
    574872