little s law 律特法則

2022-07-25 14:48:29 字數 2052 閱讀 9567

參考:週末看一下)

最近在做效能壓力測試,開始時,壓力壓不上去,參考:

n = x * e[t] ,n就是你的壓力器執行緒數*iodepth,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. 靠譜

迪公尺特法則

定義 乙個物件應該對其他物件保持最少的了解。問題由來 類與類之間的關係越密切,耦合度越大,當乙個類發生改變時,對另乙個類的影響也越大。解決方案 盡量降低類與類之間的耦合。自從我們接觸程式設計開始,就知道了軟體程式設計的總的原則 低耦合,高內聚。無論是面向過程程式設計還是物件導向程式設計,只有使各個模...

迪公尺特法則

自從我們接觸程式設計開始,就知道了軟體程式設計的總的原則 低耦合,高內聚。無論是面向過程程式設計還是物件導向程式設計,只有使各個模組之間的耦合盡量的低,才能提高 的復用率。怎麼樣程式設計才能做到低耦合呢?那正是迪公尺特法則要去完成的。類與類之間的關係越密切,耦合度越大,當乙個類發生改變時,對另乙個類...

迪公尺特法則

迪公尺特法則又稱為最少知識法則,即 如果兩個類不必彼此直接通訊,那麼這兩個類就不應該發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的某乙個方法的話,可以通過第三方來 這個呼叫。迪公尺特法則特別強調的是類之間的松耦合,即在類的結構設計上,每乙個類都應該盡量降低成員的訪問許可權。我們在進行程式設計時...