Little定律

来源:互联网 发布:oracl创建数据库 编辑:程序博客网 时间:2024/04/25 07:25

大多数粗略估算都基于显而易见的法则:总开销等于每个单元的开销乘以单元的个数。但是,有时我们需要更为深入的洞察。Bruce Weide描述了一个令人惊奇的通用法则。

Denning和Buzen介绍的”运筹分析”(参见 Computing Surveys第10卷第3期,1978年11月,第225页~第261页)远比计算机系统中的排队网络模型具有普遍意义。他们的研究很出色,但是由于文 章主题的限制,他们没有阐明Little定律的一般性。他们的证明方法与队列或计算机系统都没有关系。考虑一个带有输入和输出的任意系统,Little定 律指出”系统中物体的平均数量等于物体离开系统的平均速率和每个物体在系统中停留的平均时间的乘积。”(并且如果物体离开和进入系统的总体出入流是平衡 的,那么离开速率也就是进入速率。)

我在俄亥俄州立大学的计算机体系结构课程中教授这一性能分析方 法。但是我试图强调该结论是系统论中的一个通用法则,并且可以应用到许多其他类型的系统中去。例如,假设你正在排队等待进入一个火爆的夜总会,你可以通过 估计人们进入的速率来了解自己还要等待多长时间。依据Little定律,你可以推论:”这个地方可以容纳约60人,每个人在里面逗留的时间大约是3小时, 因此我们进入夜总会的速率大概是每小时20人。现在队伍中我们前面还有20人,这也就意味着我们需要等待大约一小时。不如我们回家去读《编程珠玑》吧。” 我想这下你应该明白了。

Peter Denning简明扼要地将这条法则表述为”队列中物体的平均数量为进入速率与平均停留时间的乘积”。他将这条法则应用于他的酒窖:”在我的地下室里有 150箱酒,我每年喝掉25箱并买入25箱,那么每箱酒保存的时间是多长?Little定律告诉我,用150箱除以25箱/年,得到答案6年。”

随后他转向更严肃的应用。”可以用Little定律和流平衡的 原理来证明多用户系统中的响应时间公式。假定平均思考时间为z的n个用户同时登录到响应时间为r的任意系统中。每个用户周期都由思考和等待系统响应两个阶 段组成,因此整个元系统(包括用户和计算机系统)中的作业总数固定为n。如果切断系统输出到用户的路径,你就会发现元系统的平均负荷为n、平均响应时间为 z+r而吞吐量为x(用每个时间单位处理的作业数来度量)。Little定律告诉我们 n=x×(z+r),对r求解得到r = n/x z。”

以上摘自《编程珠玑》

Little定律 :
LoadRunner :   并行度 = 吞吐率 × 运行时间(响应时间)

原创粉丝点击