hibernate缓存的性能对比测试

        最近闲来无事。提到并发的数据量的问题,便想亲自动手进行测试一下,以便对系统的并发量大小能有一个大概的概念。于是搭建出了简易的测试环境对hibernate的缓存进行性能的测试,了解缓存在实际项目中所起的作用。

测试依据:对表的某条记录进行查询效率高低

准备环境:  DB: mysql    LR :100虚拟用户并发:

测试场景1:无背景数据

I.  加hibernate缓存      

   

II 未加hibernate缓存        

   

分析:可以看出。在无数据的情况下,100虚拟用户并发,hibernate是否添加缓存并没有影响到系统的性能。处理的数据相差并不算太大。

8万数据以下左右,mysql的处理速度相对比较快,并不会构成什么瓶颈。所以,mysql的处理数据能力还是很强大的。

 测试场景2:12万背景数据情况下

批量导入数据的时候,记得及时提交事务或者使用addBatch()方法,可以提交插入速度。

I.加hibernate缓存

II.未加hibernate缓存:

     服务器CPU使用率短时间内窜到100%。可以大概推测出系统的资源没有及时的释放。排除其它影响因素后,得出数据库查询一块,单个查询花费的时间过长。因此导致请求不断的被阻塞,系统的资源开销突然增大。

分析:有背景数据情况下,两者的处理速度完全不在同一个级别上面的。

在这个时候,就需要对mysql进行监控了,对mysql数据库或代码进行相关的优化。比如使用存储过程代替部分复杂的业务、增加索引、增大线程连接数、临时表空间、数据库的缓存大小‘修改不必要的逻辑等来提升数据库处理方面 的性能。

结论:   查询情况下,对于数据量比较大的系统,尽量多使用hibernate的缓存。对于系统的性能提升,效果非常明显。

扩展:如果对数据的操作(增删改),是否也需要使用hibernate缓存呢。使用缓存会不会有什么作用呢,另外,并发的插入数据呢,是否会造成脏数据呢。这些需要再进行扩展测试,需要验证一下,才能得出结论。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值