12
返回列表 发新帖
楼主: songzhxp

[PL/SQL] 【大话IT】如何控制同时并发的任务数?

[复制链接]
论坛徽章:
52
巨蟹座
日期:2015-10-21 09:52:07红宝石
日期:2012-10-16 13:52:13ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:372012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-03 08:04:362011新春纪念徽章
日期:2011-02-18 11:43:332010广州亚运会纪念徽章:棋类
日期:2010-11-22 15:28:08ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522010新春纪念徽章
日期:2010-03-01 11:06:222010新春纪念徽章
日期:2010-03-01 11:06:21
11#
发表于 2014-11-27 11:42 | 只看该作者
刚好用的上,最近也在想这个问题。

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
12#
发表于 2014-11-27 21:10 | 只看该作者
本帖最后由 yulihua49 于 2014-11-27 21:23 编辑
newkid 发表于 2014-11-24 22:46
如果没有SLEEP只有死循环,那是很耗CPU的;有了SLEEP就不会。

我们的交易中间件派上用场啦。几十个线程处理数据,最后交由几个连接写到数据库。数据库连接池是可配置的,我们的经验就也是每个RAC节点3-4个连接性能最好。
所有任务排队使用连接,中间不需要轮询或sleep什么的。效率非常高。
这就解释了,为什么在客户端和数据库之间加入一层服务器,性能反而高的道理。

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
13#
发表于 2014-11-27 22:43 | 只看该作者
yulihua49 发表于 2014-11-27 21:10
我们的交易中间件派上用场啦。几十个线程处理数据,最后交由几个连接写到数据库。数据库连接池是可配置的 ...

这种事情我赞成拿到数据库外面去实现。
但是用存储过程也是一种廉价的简易的解决方案,因为这逻辑很轻量级不会构成什么负担,相对于任务的长度,调度上有些误差(sleep造成的)也可以接受。

使用道具 举报

回复
论坛徽章:
3
ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:372013年新春福章
日期:2013-02-25 14:51:24ITPUB社区OCM联盟徽章
日期:2015-03-02 10:15:18
14#
发表于 2014-12-3 09:25 | 只看该作者
这个用oracle的resources manager可以解决,不用自己写调度程序的

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
15#
发表于 2014-12-3 13:54 | 只看该作者
本帖最后由 yulihua49 于 2014-12-3 13:57 编辑
fly518 发表于 2014-12-3 09:25
这个用oracle的resources manager可以解决,不用自己写调度程序的

怎么用?
其实中间件也可以理解为资源管理器,不过管理的规则比较复杂,需要按具体需求来写。
中间件框架提供工具组件,如进程,线程,连接池,互斥同步机制等等。
由用户写业务插件,使用那些组件完成自己的调度策略。

使用道具 举报

回复
论坛徽章:
0
16#
发表于 2017-7-7 11:21 | 只看该作者
asamiya310 发表于 2014-11-25 09:38
这个是我自己写的并发调度控制的方法,仅供参考

参考ZIP附件怎么下载不了,能发一下我吗,学习一下,邮箱:261389969@qq.com,感谢!

使用道具 举报

回复
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:31:22SQL大赛参与纪念
日期:2011-04-13 12:08:17ITPUB十周年纪念徽章
日期:2011-11-01 16:25:222013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09秀才
日期:2016-03-24 09:10:24秀才
日期:2016-12-05 11:16:06
17#
发表于 2017-7-28 11:29 | 只看该作者
job_process 设成3 不就行了?

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表