免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5647 | 回复: 4
打印 上一主题 下一主题

关于批处理的一些疑惑,求大神解释 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-29 13:38 |只看该作者 |倒序浏览
本人接触400时间快两年,主要干的都是业务处理这块的联机交易,很少有批处理的接触,网上这块的学习资料好像也不是很多,所有有那么几个疑问,望大神们解惑。
   1、as400中批处理为什么效率高?可能我提问不够明晰,就拿存量数据迁移来说,一般模式都是分块提交到队列里边等待获取资源,然后处理。以前学过操作系统,了解不是很透彻,但是一个CPU在同一时刻只能处理一个语句,或是一个程序吧。既然这样,干嘛要分块提交,直接用一次性跑完整个存量不就完了,这儿就是疑惑的地方,是不是AS400上不止一个CPU?
   2、之前看过大神blogliou的经验总结,还有qingzhou、胖有型对rrn的理解,还是有一个小问题。假如现在有一个物理文件PF,已经存在10个逻辑文件,LF1、LF2、LF3...现在还是对它在数据迁移,按照之前几位大神的总结,直接对PF操作,使用rrn分块提交效率是很快的。但是我也看到400资料有提到逻辑文件每增加一个,读取效率就会指数下降。那现在已经存在10个LF对物理文件约束,效率还会上去么?另外一种,我用其中一个逻辑文件进行数据迁移,效率就没这么高,如果还要增加逻辑文件个数,效率还会降低,同样的,难道用rrn做迁移的时候,10个、11个逻辑文件没对PF起作用?

论坛徽章:
2
摩羯座
日期:2013-12-13 13:46:42白羊座
日期:2013-12-13 18:05:06
2 [报告]
发表于 2013-12-30 09:21 |只看该作者
本帖最后由 wzjwqs 于 2013-12-30 09:35 编辑

1.CPU处理模式不会解释,但如果按你说的一个CPU处理一项内容,恐怕很难支持业务并发.
"一般模式都是分块提交到队列里边等待获取资源,然后处理"数据分块后对应多个作业,这些作业能够并发执行(WRKACTJOB查看).
假设1000万条数据处理要10小时,拆分为100万条一个作业,并发,作个除法就知道能节省多少时间,当然这是理想状态.

2.如果在PF/LF中定义了键值,就会形成access path用于描述PF/LF中的一条记录。
PF一般不定义键值,为了提升大数据量操作效率,如几位前辈总结的,用rrn.
LF定义键值,,如果数据迁移操作LF的话,操作每一条记录前,都需要明确access path,数据量大的话,占用的时间是很恐怖的
为了节省这个时间,参照几位前辈的经验总结的做法还是有必要的.

上面这两个方法结合起来用,数据拆分+并发/rrn操作PF,相比来说效率最高。

个人理解,不对的地方请指出。

论坛徽章:
0
3 [报告]
发表于 2013-12-30 12:57 |只看该作者
本帖最后由 回头人物 于 2013-12-30 12:58 编辑

非常感谢wzjwqs的回答)。
1、你举得例子我明白,要是只有一个CPU,并发提交是不是就没意义了,所有的作业都只能通过同一个CPU处理,1000w的数据一次跑,和分10次跑用的时间应该差不多吧,就是这点疑惑。
2、之前听带我的人说,LF越多,操作效率越低,尽量少创建LF。还是说一个程序里边F行引用的LF个数来算操作效率,不是看总的存在多少个LF,是这样的话,我再创建几个LF(可能这个程序没用到,其他程序用到了),数据迁移程序没用到LF,就不会降低操作效率?

论坛徽章:
2
摩羯座
日期:2013-12-13 13:46:42白羊座
日期:2013-12-13 18:05:06
4 [报告]
发表于 2013-12-30 14:04 |只看该作者
1.1000万拆分后并发不是跑10次,是10个批,跑一次,另外多进程/多线程跟CPU关系不大,跟操作系统有关。
2.数据迁移用没有键值的PF,加LF也没影响,LF越多,操作效率越低,LF实际无数据,数据操作最终都体现在PF上,但PF有一条记录变化,所有相关LF的access path都要跟着变化,效率就低了,尤其数据量大了以后。

论坛徽章:
0
5 [报告]
发表于 2014-03-11 13:39 来自手机 |只看该作者
1.400上真的不止一个cpu,楼主说对啦!
    另外即使只有一个cpu,并发也还是有意义的,因为硬件读写的速度远低于cpu干活的速度,所以并发的时候系统遇到和硬件交互的语句,cpu发完指令等待硬件返回这个空挡,还可以去干点别的事。
不用并发的写法,这几十个或者上百毫秒里cpu就闲着了。
当然系统调度切换有也消耗,单cpu下不提倡过多的并发。

以上纯属抬杠,随便看看就好。

2.根据我以前测试,一般加LF对write操作的影响比较大,read操作应该影响不是特别大。
    要是实在纠结,就在迁移前把所有LF都删掉!就看老大答不答应了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP