成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊搞定系統設計估算的一些方法

開發 前端
在日常工作中,經常會遇到一些大促場景,需要評估系統的資源是否充足,是否需要增加資源,增加多少。

[[431094]]

在日常工作中,經常會遇到一些大促場景,需要評估系統的資源是否充足,是否需要增加資源,增加多少。

在系統設計面試中,有時也會遇到要求做一些估算類的題目:如果需要扛 100w QPS,需要多少機器……

想要做到“準確”的估算,需要對數字有一定的感覺。

第二章主要講的就是一些常用的數字。本文最后也會附加一些筆者平時積累的數字。

2 的次冪

2的次冪

英語里面常講 1 個 Million,1 個 Billion,分別是百萬、十億的意思。可以看到,以 3 個 0 為一組,層層遞進。

[[431095]]

千-百萬-十億

每個程序員都要了解的延遲數字

這里有一張表格反映了一些計算機的典型操作的耗時,配套的還有一個可視化網站,這個其實見得比較多了。

latency number tables

圖形化的網頁上可以選擇年份,數據也更準確。

latency number graph

  • 從中可以得出一些明顯的結論:
  • 內存比磁盤快。
  • 避免 disk seek。

數據中心常常位于不同的區域,在它們之間傳送數據比較耗時。

從磁盤順序讀數據比從網絡順序讀數據慢。

可用性數字

工作中,我們常用幾個 9 來形容一個系統的可用性。100% 表示一個系統永遠不會掛,實際中的系統可用性指標大多處于 99% -100% 之間。

像一些云廠商,如 Amazon,Microsoft,Google 承諾的可用性是 3 個 9,即 99.9% 或以上,描述的是可用時間。

可用性

我的一些數字積累

  • 某支付服務的支付峰值 60w QPS
  • Go GC 打開寫屏障需要花費 10-30us
  • 內網中,一次網絡請求的耗時是 ms 級別
  • 萬兆網卡,1.25GB/s 打滿
  • 4C8G 建 10w 到 20w 的連接沒有問題
  • 因為機械硬盤的機械結構,隨機 I/O 與順序的 I/O 性能可能相差幾百倍。固態硬盤則只有十幾倍到幾十倍之間
  • twitter 工程師認為,良好體驗的網站平均響應時間應該在 500ms 左右,理想的時間是 200-300ms
  • 平均 QPS:日平均用戶請求除以 4w。日平均用戶請求,一般來自產品的評估。峰值 QPS:平均 QPS 的 2~4 倍

實戰

本章最后有一個實戰的例子:評估 twitter 的 QPS 和存儲容量。

先給出了一些預設:

  • 300 個 million 的月活躍用戶
  • 50% 的用戶每天都使用 twitter
  • 用戶平均每天發表 2 條 tweets
  • 10% 的 tweets 包含多媒體
  • 多媒體數據保存 5 年

下面是估算的過程:

先預估 QPS:

  • DAU(每天的活躍用戶數,Daily Active Users)為:300 million(總用戶數) * 50% = 150 million
  • 發 tweets 的平均 QPS:150 million * 2 / 24 hour / 3600 second = ~3500
  • 高峰期 QPS 一般認為是平均 QPS 的 2 倍:2 * 3500 = 7000 QPS

再來估算存儲容量:

假設多媒體的平均大小為 1MB,那么每天的存儲容量為:150 million * 2 * 10% * 1MB = 30 TB。5 年的存儲容量為 30 TB * 365 * 5 = 55 PB。

最后這兩個的估算過程是這樣的:

300 個 million * 10%* 1MB,1 MB 其實就是 6 個 0,相當于 million 要進化 2 次:million -> billion -> trillion,即從 M -> G -> T,于是結果等于 300 T * 10% = 30 T。

30 TB * 365 * 5 = 30 TB * 1825 = 30 TB * 10^3 * 1.825,TB 進化一次變成 PB,于是等于 30 * 1.825 PB = 55 PB。

一些建議

估算題的精髓在于過程,解決問題的過程比得到一個正確的結果更重要。

粗算。面試過程中,得到一個精確結果的意義不大,沒那么多時間且沒必要。例如 99987 / 9.1 可以簡化為 100,000 / 10。

寫下過程中所做的假設,方便之后參考。

寫下單位。例如 5MB,這會在后面的估算環節用到。

經常被問到的估算:QPS、峰值 QPS、存儲容量、服務器個數……

點評

估算能力還是挺重要的,日常工作中也用得到。例如新增一個 redis,評估一下需要多少臺機器資源……如果遇到這樣的場景,應該抓住機會鍛煉一下。

 

本章給出的 2 的次冪表格用處挺大,要收藏下來,用到的時候方便隨時查看。

 

責任編輯:武曉燕 來源: 碼農桃花源
相關推薦

2021-10-12 23:10:58

UnsafeJavaJDK

2021-06-08 06:13:16

React開發開發技術

2011-07-13 09:13:56

Android設計

2019-08-19 14:56:07

設計模式javascript

2012-06-07 10:17:55

軟件設計設計原則Java

2009-09-27 11:09:42

API設計

2009-06-18 13:42:48

Hibernate s

2022-12-27 09:56:34

架構系統

2011-09-19 10:15:10

移動界面設計

2017-04-08 17:12:36

設計模式抽象策略模式

2023-09-04 16:55:18

2017-05-10 14:49:52

Kotlin語言Java

2021-04-19 17:25:08

Kubernetes組件網絡

2017-02-21 13:36:11

iosAPP性能

2012-06-15 09:41:40

Linux內核

2011-12-05 10:12:35

網頁設計

2012-04-16 09:54:05

移動web錯誤理念

2025-06-12 00:00:00

芯片服務器晶體管

2024-07-05 11:05:47

2017-08-30 17:59:20

Linux程序設計優化措施
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 拍真实国产伦偷精品 | 亚洲国产一区二区三区 | 精品久久久久一区二区国产 | 亚洲国产精品视频一区 | 亚洲精品1 | 国产精品精品视频一区二区三区 | 亚洲一区二区在线播放 | 亚洲免费在线视频 | 97碰碰碰| 亚洲精品免费在线观看 | 国产精品一区二区福利视频 | 毛片一级片 | 欧美 日韩 国产 成人 | 午夜精品91 | 超碰最新在线 | 日韩1区 | 神马久久久久久久久久 | 天堂色| 国产欧美一区二区三区日本久久久 | 亚洲午夜精品视频 | 一级黄色夫妻生活 | 国产精品中文字幕在线观看 | 日韩一区二区三区在线观看视频 | 四色成人av永久网址 | 国产一区二区免费电影 | 欧美日韩综合一区 | 亚洲精品一区二区三区蜜桃久 | 日韩欧美一区二区三区免费看 | 视频一区在线观看 | 久久精品国产亚洲 | 成人污污视频 | 久久久久久久久中文字幕 | 国产精品欧美精品日韩精品 | 一区二区三区亚洲精品国 | 在线观看深夜视频 | 瑟瑟激情 | 久久久天天 | 中文字幕视频在线看 | 一区中文| 在线观看成人小视频 | 国产精品免费观看 |