自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

互聯(lián)網(wǎng)架構(gòu),如何進(jìn)行容量設(shè)計(jì)?

開發(fā) 架構(gòu)
技術(shù)上來說,這些都是系統(tǒng)容量預(yù)估的問題,容量設(shè)計(jì)是架構(gòu)師必備的技能之一。常見的容量評估包括數(shù)據(jù)量、并發(fā)量、帶寬、CPU/MEM/DISK等,今天分享的內(nèi)容,就以【并發(fā)量】為例,看看如何回答好這兩個(gè)問題。

[[264999]]

 一,需求緣起

互聯(lián)網(wǎng)公司,這樣的場景是否似曾相識:

場景一:pm要做一個(gè)很大的運(yùn)營活動(dòng),技術(shù)老大殺過來,問了兩個(gè)問題:

(1)機(jī)器能抗住么?

(2)如果扛不住,需要加多少臺機(jī)器?

場景二:系統(tǒng)設(shè)計(jì)階段,技術(shù)老大殺過來,又問了兩個(gè)問題:

(1)數(shù)據(jù)庫需要分庫么?

(2)如果需要分庫,需要分幾個(gè)庫?

技術(shù)上來說,這些都是系統(tǒng)容量預(yù)估的問題,容量設(shè)計(jì)是架構(gòu)師必備的技能之一。常見的容量評估包括數(shù)據(jù)量、并發(fā)量、帶寬、CPU/MEM/DISK等,今天分享的內(nèi)容,就以【并發(fā)量】為例,看看如何回答好這兩個(gè)問題。

二,容量評估的步驟與方法

【步驟一:評估總訪問量】

如何知道總訪問量?對于一個(gè)運(yùn)營活動(dòng)的訪問量評估,或者一個(gè)系統(tǒng)上線后PV的評估,有什么好的方法?

答案是:詢問業(yè)務(wù)方,詢問運(yùn)營同學(xué),詢問產(chǎn)品同學(xué),看對運(yùn)營活動(dòng)或者產(chǎn)品上線后的預(yù)期是什么。

舉例:58要做一個(gè)APP-push的運(yùn)營活動(dòng),計(jì)劃在30分鐘內(nèi)完成5000w用戶的push推送,預(yù)計(jì)push消息點(diǎn)擊率10%,求push落地頁系統(tǒng)的總訪問量?

回答:5000w*10% = 500w

【步驟二:評估平均訪問量QPS】

如何知道平均訪問量QPS?

答案是:有了總量,除以總時(shí)間即可,如果按照天評估,一天按照4w秒計(jì)算。

舉例1:push落地頁系統(tǒng)30分鐘的總訪問量是500w,求平均訪問量QPS

回答:500w/(30*60) = 2778,大概3000QPS

舉例2:主站首頁估計(jì)日均pv 8000w,求平均訪問QPS

回答:一天按照4w秒算,8000w/4w=2000,大概2000QPS

提問:為什么一天按照4w秒計(jì)算?

回答:一天共24小時(shí)*60分鐘*60秒=8w秒,一般假設(shè)所有請求都發(fā)生在白天,所以一般來說一天只按照4w秒評估

【步驟三:評估高峰QPS】

系統(tǒng)容量規(guī)劃時(shí),不能只考慮平均QPS,而是要抗住高峰的QPS,如何知道高峰QPS呢?

答案是:根據(jù)業(yè)務(wù)特性,通過業(yè)務(wù)訪問曲線評估

舉例:日均QPS為2000,業(yè)務(wù)訪問趨勢圖如下圖,求峰值QPS預(yù)估?

 

互聯(lián)網(wǎng)架構(gòu),如何進(jìn)行容量設(shè)計(jì)?

 

回答:從圖中可以看出,峰值QPS大概是均值QPS的2.5倍,日均QPS為2000,于是評估出峰值QPS為5000。

說明:有一些業(yè)務(wù)例如“秒殺業(yè)務(wù)”比較難畫出業(yè)務(wù)訪問趨勢圖,這類業(yè)務(wù)的容量評估不在此列。

【步驟四:評估系統(tǒng)、單機(jī)極限QPS】

如何評估一個(gè)業(yè)務(wù),一個(gè)服務(wù)單機(jī)能的極限QPS呢?

答案是:壓力測試

在一個(gè)服務(wù)上線前,一般來說是需要進(jìn)行壓力測試的(很多創(chuàng)業(yè)型公司,業(yè)務(wù)迭代很快的系統(tǒng)可能沒有這一步,那就悲劇了),以APP-push運(yùn)營活動(dòng)落地頁為例(日均QPS2000,峰值QPS5000),這個(gè)系統(tǒng)的架構(gòu)可能是這樣的:

 

互聯(lián)網(wǎng)架構(gòu),如何進(jìn)行容量設(shè)計(jì)?

 

1)訪問端是APP

2)運(yùn)營活動(dòng)H5落地頁是一個(gè)web站點(diǎn)

3)H5落地頁由緩存cache、數(shù)據(jù)庫db中的數(shù)據(jù)拼裝而成

通過壓力測試發(fā)現(xiàn),web層是瓶頸,tomcat壓測單機(jī)只能抗住1200的QPS(一般來說,1%的流量到數(shù)據(jù)庫,數(shù)據(jù)庫500QPS還是能輕松抗住的,cache的話QPS能抗住,需要評估cache的帶寬,假設(shè)不是瓶頸),我們就得到了web單機(jī)極限的QPS是1200。一般來說,線上系統(tǒng)是不會(huì)跑滿到極限的,打個(gè)8折,單機(jī)線上允許跑到QPS1000。

【步驟五:根據(jù)線上冗余度回答兩個(gè)問題】

好了,上述步驟1-4已經(jīng)得到了峰值QPS是5000,單機(jī)QPS是1000,假設(shè)線上部署了2臺服務(wù),就能自信自如的回答技術(shù)老大提出的問題了:

(1)機(jī)器能抗住么? -> 峰值5000,單機(jī)1000,線上2臺,扛不住

(2)如果扛不住,需要加多少臺機(jī)器? -> 需要額外3臺,提前預(yù)留1臺更好,給4臺更穩(wěn)

除了并發(fā)量的容量預(yù)估,數(shù)據(jù)量、帶寬、CPU/MEM/DISK等評估亦可遵循類似的步驟。

三,總結(jié)

互聯(lián)網(wǎng)架構(gòu)設(shè)計(jì)如何進(jìn)行容量評估:

【步驟一:評估總訪問量】 -> 詢問業(yè)務(wù)、產(chǎn)品、運(yùn)營

【步驟二:評估平均訪問量QPS】-> 除以時(shí)間,一天算4w秒

【步驟三:評估高峰QPS】 -> 根據(jù)業(yè)務(wù)曲線圖來

【步驟四:評估系統(tǒng)、單機(jī)極限QPS】 -> 壓測很重要

【步驟五:根據(jù)線上冗余度回答兩個(gè)問題】 -> 估計(jì)冗余度與線上冗余度差值

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2016-09-22 15:55:39

互聯(lián)網(wǎng)架構(gòu)容量設(shè)計(jì)

2017-12-26 15:52:31

MQ互聯(lián)網(wǎng)耦合

2016-09-22 15:01:59

微服務(wù)互聯(lián)網(wǎng)架構(gòu)

2017-01-11 21:40:03

互聯(lián)網(wǎng)架構(gòu)高并發(fā)

2018-01-01 06:41:44

耦合互聯(lián)網(wǎng)架構(gòu)配置中心

2019-04-10 14:10:02

高并發(fā)分布式系統(tǒng)架構(gòu)

2019-11-28 16:09:29

架構(gòu)模板存儲

2022-06-09 08:01:43

秒殺系統(tǒng)互聯(lián)網(wǎng)架構(gòu)

2016-12-06 11:56:13

互聯(lián)網(wǎng)架構(gòu)高可用

2019-03-18 07:08:53

高可用互聯(lián)網(wǎng)架構(gòu)分布式

2018-11-07 06:35:50

互聯(lián)網(wǎng)服務(wù)化高可用架構(gòu)

2012-09-19 15:43:21

云時(shí)代

2019-12-26 07:39:36

互聯(lián)網(wǎng)架構(gòu)ip

2024-05-13 11:43:26

開發(fā)層服務(wù)層ActiveMQ

2017-05-19 10:01:53

互聯(lián)網(wǎng)

2017-09-25 12:11:14

高可用微服務(wù)架構(gòu)

2019-06-13 14:24:40

互聯(lián)網(wǎng)

2015-08-24 10:34:21

云數(shù)據(jù)中心互聯(lián)網(wǎng)架構(gòu)安全

2019-07-30 09:08:04

2021-08-27 08:44:52

MQ架構(gòu)耦合
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號