little's law(律特法则)

时间:2022-07-30 20:30:47

参考:https://en.wikipedia.org/wiki/Little%27s_law(周末看一下)

最近在做性能压力测试,开始时,压力压不上去,参考:

N = X * E[T] ,N就是你的压力器线程数,X是IOPS ,E[T]是平均处理时间

压不上去两个原因 1. N太小 2. E[T]太大

Little's Law 是有广泛应用的超级简洁的数学规律。
强调三点:广泛应用,超级简洁,数学规律。

(1)广泛应用:不知道题主是不是读工业工程相关网站书籍看到的这个little's law。用“库存”,“产出”,“流程”这些术语描述的 "Little's Law" 顶多只能说是 Little's Law 在生产库存管理里面的应用(如果你说其他很多领域的问题也能被建模理解成库存管理,说明你早就学通了,我过虑了)。

Little's Law 是排队论里面的理论,只要现实问题中有排队的结构就可以考虑应用Little's Law。这里说的排队不一定要满足任何像先进先出或者先进后出的规则,队伍还不一定需要有顺序,关键是有一个系统(或者叫成空间也行)能容纳个体,个体有进有出就行。例如说
1. 产品排队进库存。排队论在库存管理里头的应用。
2. 顾客到百货商场买商品。百货商场是系统,顾客是个体。
3. 网民进入google网站,然后点链接离开。google这个网站是系统,网名是个体。
4. 我们回复email。邮箱是系统,邮件是个体,收到邮件表示邮件进入,我们回了邮件表示邮件离开。
5. 孕妇住院。医院是系统,孕妇是个体,准备要生的时候进入医院。生完休息护理完毕离开。
6. 中介卖楼。中介是系统,要卖楼的单子进入系统,楼被买掉了或者不卖了单子离开。
还有很多很多的,反正满足条件就是了。(这里讲到的只是应用领域广泛,还有另一个层次的应用广泛,我放到(2)里面讲。)

一个规律能用到这么多地方必须牛。更牛的是它很简洁,不是专家才懂,懂乘除法的任何人都能用。

(2)超级简洁。
简洁到什么程度?如果不提前提条件,这个定律就只需要四个符号字母:L = λW。跟牛顿第二定律的 F=ma 并列,但是有时比“牛二”还牛,会在“数学规律”那一段里面解释。

完整的 Little's Law 是这样的:一个排队系统在稳定状态下,在系统里面的个体的数量的平均值 L, 等于平均个体到达率λ (单位是 个每单位时间)乘以 个体的平均逗留时间W。

这个定律需要注意两个点:
1. 稳定状态。可以直观理解成系统的状态在均值上或者说在某个时间点开始不怎么变了,每段时间的平均个体数目不会忽大忽小,每段时间的到达率的平均值不会忽高忽低,平均逗留时间不会忽长忽短。
2. 里面说的平均是长期时间上的平均。个体总数平均值就是一段时间里面个体的总数除以这段时间长度。
稳定状态保证平均值的存在。各种工业系统一般都处于稳定状态的。

这个 L = λW 的公式是可以用在每次排队系统的实现上的。意思是说,例如假如我们只要研究今天的乘客在某百货商场的情况,那就只需要看今天的各种平均值,不需要研究好几个月的情况。每一天就是百货商场这个系统的一次实现。

可是,也许你会说 套个公式还要稳定状态,系统稳不稳定天知道。来商场的人数每个时间段都不一样,怎么看都不像稳定的吧!事实上,不稳定也可以套!只要满足两个条件:
1. 开始和结束的时候系统是空的。
2. 个体不会凭空消失。
这两个条件很容易满足的,有跟没有差不多。商场开和关的时候自然没顾客,顾客也不会无端端蒸发。

一个规律应用得广泛的本质是前提条件少。Little's Law 只跟三个平均值有关系,而并不需要知道

(3)数学规律
Little's law 是一个数学定理,只要满足前提条件 L = λW 就一定是对的,因为每一步都是通过严格数学推理的。牛顿第二定律也很牛,但是那不是数学规律。牛二是个物理规律,本质上是个经验公式,F=ma 是要通过测量F,m 和 a 来再通过统计验证的。只不过在我们生活的世界里,公式误差爆小,就直接当等式用了。在这种意义上, Little's law 比“牛二”还牛。

总结一下 Little's Law 的牛逼之处:
1. 应用领域广
2. 应用条件简单,大多排队系统都用得上
3. 形式简单
4. 靠谱