標籤:class
問題資料
前幾天聊過,pv 和併發 的概念,也大概解釋了 併發,頻寬等指標的計算。感興趣的朋友,可以看看我前面那篇文章:《聊一聊pv和併發》。今天再來聊一聊容量預估。
電商公司的朋友,,這樣的場景是否似曾相識:
運營和產品神秘兮兮的跑過來問:
我們晚上要做搞個**,伺服器能抗住麼?如果扛不住,需要加多少臺機器?
於是,技術一臉懵逼。
其實,這些都是系統容量預估的問題,容量預估是架構師必備的技能之一。所謂,容量預估其實說白了就是,系統在down掉之前,所能承受的最大流量。這個事技術人員對於系統效能了解的重要指標。常見的容量評估包括流量、併發量、頻寬、cpu,記憶體 ,磁碟等一系列內容。今天就來聊一聊容量預估的問題。
一,幾個重要引數
qps:每秒鐘處理的請求數
併發量: 系統同時處理的請求數
響應時間: 一般取平均響應時間
很多人經常會把併發數和qps 混淆,理解了上面三個要素的意義之後,就能推算出它們之間的關係:qps = 併發量 / 平均響應時間
二,容量評估的步驟與方法
1:預估總訪問量
如何知道總訪問量?對於乙個運營活動的訪問量評估,或者乙個系統上線後pv的評估,有什麼好的方法?
最簡單的辦法就是:詢問業務方,詢問運營同學,詢問產品同學,看產品和運營對此次活動的流量預估。
不過,業務方對於流量的預估,應該就兩個指標,pv 和 使用者訪問數。技術人員 需要更具這兩個資料,計算其他相關指標,比如 qps 等。具體如何計算可參照我前面一篇 pv和併發 的文章。
2:預估平均qps
總請求數 = 總pv * 頁面衍生連線數
平均qps = 總請求數 / 總時間
比如:活動落地頁1小時內的總訪問量是30w pv,該落地頁的衍生連線數為30 ,那麼落地頁的平均qps
(30w * 30) /(60 * 60) = 2500,
3:預估峰值qps
系統容量規劃時,不能只考慮平均qps,而是要抗住高峰的qps,如何評估峰值qps呢?
這個要根據實際的業務評估,通過以往的一些營銷活動的 pv 等資料進行預估。一般情況,峰值qps大概是均值qps的3-5倍,日均qps為1000,於是評估出峰值qps為5000。
不過,有一些業務例如「秒殺業務」比較難評估業務訪問量,這類業務的容量評估不在此討論。
4:預估系統、單機極限qps
如何預估乙個業務,乙個伺服器單機的極限qps呢?
這個效能指標,是伺服器,最基本的指標之一,所以沒有其他的辦法,就是壓力測試。通過壓力測試,算出伺服器的單機極限qps 。
2)運營活動h5落地頁是乙個web站點
3)h5落地頁由快取cache、資料庫db中的資料拼裝而成
通過壓力測試發現,web 伺服器 單機只能抗住1200的qps,cache和資料庫db 能抗住併發壓力,(一般來說,1%的流量到資料庫,資料庫120 qps還是能輕鬆抗住的,cache的話qps能抗住,需要評估cache的頻寬,這裡假設cache不是瓶頸),這樣,我們就得到了web單機極限的qps是1200。一般來說,生產系統不會跑滿到極限的,這樣容易影響伺服器的壽命和效能,單機線上允許跑到qps 1200 * 0.8 = 960 。
擴充套件說一句,通過壓力測試,已經知道web層是瓶頸,則可針對web 相關的做一些調整優化,以提高web 伺服器 的單機qps 。
還有,壓力測試工作中,一般是以具體業務的角度進行壓力測試,關心的是某個具體業務的併發量和qps。
5:回答最開始那兩個問題
需要的機器 = 峰值qps / 單機極限 qps
好了,上述已經得到了峰值qps是5000,單機極限qps是1000,線上部署了3臺伺服器:
(1)伺服器能抗住麼? -> 峰值5000,單機1000,線上3臺,扛不住
(2)如果扛不住,需要加多少臺機器? -> 需要額外2臺,提前預留1臺更好,給3臺保險
電芯容量衰減總結
電芯衰減體現在測量的容量衰減和內部電阻增加,車用電池一般在容量衰減達到20 將被更換。20 的容量衰減通常伴隨著內部電阻的翻倍,電池容量衰減主要有以下兩個因素 1.可迴圈的鋰離子數減少 電流流動的載體是鋰離子,任何鋰離子的減少都會導致容量衰減。2.陰極陽極活性部位的衰減 可迴圈的鋰離子被插入在陰極和...
LVM 縮減檔案系統的容量
有擴充套件就有縮減,我們在前文 lvm 擴充套件檔案系統的容量 中介紹了通過 lvm 擴充套件檔案系統的方法,本文我們接著前文的 demo 介紹通過 lvm 縮減檔案系統的方法。說明 本文的演示環境為 ubuntu 16.04。接下來我們再把它重新縮減為 15g,並移除新新增的磁碟 dev sde。...
LVM 擴充套件檔案系統的容量
如果發現檔案系統的容量不足了,可以通過 lvm 輕鬆的進行擴充套件 當然也可以進行縮減操作 本文將緊接前文中的 demo 詳細的介紹擴充套件檔案系統的操作過程。說明 本文的演示環境為 ubuntu 16.04。當我們收到可用磁碟空間不足的警報時,就需要去診斷磁碟空間相關的問題了。一般的結果是 增加磁...