系統設計入門: Latency and Throughout

ChunJen Wang
jimmy-wang
Published in
Jan 17, 2022

系統延遲與吞吐量代表了一套系統運行performance的好壞。

Source: https://www.dnsstuff.com/latency-throughput-bandwidth

Latency 延遲

為系統操作時,需要耗時多久。

延遲發生在資料運算、傳輸過程中,從數據源到目的地需要花費多少時間,以Client-Server架構,為測量發request到取得reponse所需時間。而延遲通常又可以區分兩種,一種是網路頻寬導致、二為硬體計算導致:

  • 網路延遲: 因為頻寬不足而導致網路延遲。
    例如觀賞串流影音 Netfilx ,轉圈讀取畫面。而開發web service可以透過使用開發人員工具,切換到低頻寬的網路進行測試(比較爛的網路)。
Source: https://developer.mozilla.org/en-US/docs/Web/Performance/Understanding_latency
Source: https://developer.mozilla.org/en-US/docs/Web/Performance/Understanding_latency
  • 磁碟延遲: 指單個 I/O 操作所需的時間。
    需要經過硬體運算後所需時間,也可能是在虛擬機(VM)上的運算時間。

Throughout 吞吐量

每一時間單位可以完成幾個單位操作。通常以RPS(Requests Per Second), QPS(Queries Per Second)表示效能。

試想如預約疫苗注射平台,每秒鐘可以同時容納多少人進行預約,為平台的吞吐量。但實際上要以使用者進行不同的操作方式進行運算,而有落差。

硬體吞吐量如
Throughput of the device: 640 Mbits / second
可以透過時脈頻率、計算時間(延遲)、吞吐量、字元大小來進一步計算傳輸效率。
- 時脈頻率clock frequency: 為CPU或主機本身可以操作的單位頻率。
越高越好,如2GHz > 1MHz。詳細可以參考intel官網說介紹
Source: https://community.cadence.com/cadence_blogs_8/b/sd/posts/understanding-latency-vs-throughput

--

--

ChunJen Wang
jimmy-wang

嗨,歡迎你的到來,我目前在銀行擔任DS。過去曾做過銀行大型專案BA,也曾在轉職科技業DE中踢了鐵板,相信每一個人都有自己要走的路,而努力的過程,可以讓我們離心中理想更接近,如果我的文章能帶給你一些啟發與幫助,別忘了幫我在文章底下按下拍手~^^