Spring 事物对系统性能影响

来源:互联网 发布:php 做数据统计图 编辑:程序博客网 时间:2024/06/02 00:24

背景:公司使用的自己封装的分库分表的中间件,配合Spirng的事物,实现数据库访问功能。

优化前的针对某接口的TPS只有30左右
接口调用Spring事物的伪代码

public void A(){B();}public void B(){  //do somethings //Mysql 具体事务逻辑 增删改查 // do something}

事物配置针对方法A

<tx:method name="A" propagation="REQUIRED" />
public void A(){B();}public void B(){ //do somethingsC(); //do somethings}public void C(){ //Mysql 具体事务逻辑 增删改查}

事物配置细化到方法C,同时不修改A的事物逻辑,使用supports

<tx:method name="A" propagation="SUPPORTS"/><tx:method name="C" propagation="REQUIRES_NEW" />

优化完毕以后,TPS上升到300。提升了10倍。本质上是缩小了spring事物开启的粒度,从而减小了性能的消耗

原创粉丝点击