多线程并发效率问题

项目中遇到一个并发性能的问题:

需要对3张表执行操作,3张表没有外键关系;执行操作都为查询--添加或更新。

最初设计为一个线程池,对3张表顺序操作。业务判断+数据库操作耗时在20-30毫秒;

后来我想3张表没什么关系,改成并行操作应该要效率要高点吧,于是就再写了2个相同的线程池,总共3个线程池,一个线程池执行一张表。

问题来了,我发现每一张表的业务操作耗时竟然比以前3张表业务判断+数据库操作时间还要高30-60毫秒;

我那个郁闷啊!并行居然比串行慢!

环境为32G内存、8CPU,hibernate+spring,声明式事务管理(自动提交),批量提交为100。

我想8CPU调度线程应该很快的,并且业务判断都是相同的,未作修改,耗时应当主要是出在数据库操作上。

我看mysql,一个线程池提交sql频率在1200-2000条/s,(好像是以秒为单位的)

改成3个线程池后居然很少能过1500条/s。

希望哪位大侠给点意见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值