系統設計入門: Latency and Throughout
Published in
Jan 17, 2022
系統延遲與吞吐量代表了一套系統運行performance的好壞。
Latency 延遲
為系統操作時,需要耗時多久。
延遲發生在資料運算、傳輸過程中,從數據源到目的地需要花費多少時間,以Client-Server架構,為測量發request到取得reponse所需時間。而延遲通常又可以區分兩種,一種是網路頻寬導致、二為硬體計算導致:
- 網路延遲: 因為頻寬不足而導致網路延遲。
例如觀賞串流影音 Netfilx ,轉圈讀取畫面。而開發web service可以透過使用開發人員工具,切換到低頻寬的網路進行測試(比較爛的網路)。
- 磁碟延遲: 指單個 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官網說介紹。