性能測試中的吞吐量和延遲、信號量和互斥鎖

發表于:2013-02-26來源:IT博客大學習作者:王 聰點擊數: 標簽:吞吐量
我們知道,計算機中有很多概念并不容易理解,有些時候一個好的比喻能勝過很多句解釋。下面兩個是我看到的兩個很精彩的比喻,拿出來和大家分享一下。

  我們知道,計算機中有很多概念并不容易理解,有些時候一個好的比喻能勝過很多句解釋。下面兩個是我看到的兩個很精彩的比喻,拿出來和大家分享一下。

  第一比喻是關于吞吐量(throughput)和延遲(latency)的。如果你要搞網絡性能優化,這兩個概念是你必須要知道的,它們看似簡單實則不是。我相信包括我在內的很多人都曾經認為大的吞吐量就意味著低延遲,高延遲就意味著吞吐量變小。下面的比喻可以解釋這種觀點根本不對。該比喻來自這里,我來做個大體意譯(非逐字翻譯)。

  我們可以把網絡發送數據包比喻成去街邊的 ATM 取錢。每一個人從開始使用 ATM 到取錢結束整個過程都需要一分鐘,所以這里的延遲是60秒,那吞吐量呢?當然是 1/60 人/秒?,F在銀行升級了他們的 ATM 機操作系統,每個人只要30秒就可以完成取款了!延遲是 30秒,吞吐量是 1/30 人/秒。很好理解,可是前面的問題依然存在對不對?別慌,看下面。

  因為這附近來取錢的人比較多,現在銀行決定在這里增加一臺 ATM 機,一共有兩臺 ATM 機了?,F在,一分鐘可以讓4個人完成取錢了,雖然你去排隊取錢時在 ATM 機前還是要用 30 秒!也就是說,延遲沒有變,但吞吐量增大了!可見,吞吐量可以不用通過減小延遲來提高。

  好了,現在銀行為了改進服務又做出了一個新的決定:每個來取錢的客戶在取完錢之后必須在旁邊填寫一個調查問卷,用時也是30秒。那么,現在你去取錢的話從開始使用 ATM 到完成調查問卷離開的時間又是 60 秒了!換句話說,延遲是60秒。而吞吐量根本沒變!一分鐘之內還是可以進來4個人!可見,延遲增加了,而吞吐量沒有變。

  從這個比喻中我們可以看出,延遲測量的是每個客戶(每個應用程序)感受到的時間長短,而吞吐量測量的是整個銀行(整個操作系統)的處理效率,是兩個完全不同的概念。用作者的原話說是:

  In short, the throughput is a function of how many stages are in parallel while latency is a function of how many are in series when there are multiple stages in the processing. The stage with the lowest throughput determines the overall throughput.

  正如銀行為了讓客戶滿意不光要提高自身的辦事效率外,還要盡量縮短客戶在銀行辦事所花的時間一樣,操作系統不光要盡量讓網絡吞吐量大,而且還要讓每個應用程序發送數據的延遲盡量小。這是兩個不同的目標。

  另外一個比喻是解釋信號量(semaphore)和互斥鎖(mutex)的區別。該比喻最初來自這里,我先翻譯一下,然后對它做個改進。

  互斥鎖是一把公共廁所的鑰匙。一個人使用廁所的時候可以拿到這把鑰匙,用完之后把這把鑰匙交給排隊的下一個人。

  信號量是沒有人使用的廁所的鑰匙數量,所有廁所的鑰匙都一樣。比如有4個廁所有相同的鑰匙和鎖。信號量的值就是鑰匙的數量,一開始是4。當進來一個人的時候數量就是少一個,如果4個廁所都滿了,信號量就成0了,出去一個人就增加1,并把鑰匙交給排隊的下一個人。

  這個例子并不是太好,尤其是它無法解釋 二元(binary)信號量和互斥鎖的區別!我把這個比喻做了改進?;コ怄i的比喻還是和上面一樣,需要指出的是,當你拿到那把鑰匙的時候你就是它的擁有者(owner),別人是無法打開廁所門的。

  而信號量什么呢?它就是一個大的公共廁所,里面有若干個位置,外面的大門口有一個可以翻動牌子寫著“已滿”和“可用”,當里面還有空的位置的時候,進去的人不用翻動這個牌子,直到沒有位置時最后一個進去的人必須把它設成“已滿”,這時后面的人必須排隊等候,然后出去的人必須把牌子翻到“可用”,如果需要的話。

  很好理解對嘛?那么它怎么解釋二元信號量呢?也就是當這個廁所里面能容納一個人的時候,每個人進去的時候都要把門口的牌子翻到“已滿”,出去的時候翻到“可用”。它和互斥鎖的區別馬上就可以看出來了,翻動的牌子在外面可以被別人翻的,而鎖住的鎖只有拿鑰匙的人才可以開!

  當然了,信號量之所以翻譯成“信號”,還是有道理的,因為它(廁所門口的牌子)標示的是資源(廁所空位)的狀態,而互斥鎖就是鎖,它實實在在地鎖住了資源。這在生產者消費者的情況下區別更明顯。

原文轉自:http://blogread.cn/it/article/6024

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97