首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

多线程并发效率有关问题

2012-10-31 
多线程并发效率问题项目中遇到一个并发性能的问题:需要对3张表执行操作,3张表没有外键关系;执行操作都为查

多线程并发效率问题

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

需要对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。

希望哪位大侠给点意见

热点排行