日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何設(shè)計一個支撐高并發(fā)大流量的系統(tǒng)?這次我將設(shè)計思路分享給大家!

[[335020]]

十載專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站建設(shè),個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對銅雕雕塑等多個行業(yè),擁有豐富的網(wǎng)站營銷經(jīng)驗。

作者個人研發(fā)的在高并發(fā)場景下,提供的簡單、穩(wěn)定、可擴展的延遲消息隊列框架,具有精準的定時任務(wù)和延遲隊列處理功能。自開源半年多以來,已成功為十幾家中小型企業(yè)提供了精準定時調(diào)度方案,經(jīng)受住了生產(chǎn)環(huán)境的考驗。為使更多童鞋受益,現(xiàn)給出開源框架地址:https://github.com/sunshinelyz/mykit-delay

寫在前面

最近不少小伙伴們都在問我:高并發(fā)專題我學(xué)了不少文章了,但是如何設(shè)計一個高并發(fā)的系統(tǒng)我還是一臉懵逼!這個問題怎么解決呢?其實,相信不只是問我的這些小伙伴有這個困惑,就連工作(入坑)了好幾年的開發(fā)人員也都有這樣的困惑:我學(xué)習(xí)了很多的高并發(fā)課程,也看了不少的高大上的文章,可就是不知道怎么去設(shè)計一個支撐高并發(fā)大流量的系統(tǒng)。針對小伙伴們的疑惑,這里,我就把一些設(shè)計高并發(fā)大流量的常規(guī)思路分享給大家,不一定完全正確,設(shè)計高并發(fā)大流量系統(tǒng)本來就是一個仁者見仁、智者見智的事情,只要是符合自身業(yè)務(wù)場景的架構(gòu)思路,都是好的架構(gòu)思路,架構(gòu)本身來說就是沒有一個完全正確的架構(gòu),而是盡量符合當(dāng)時自身的業(yè)務(wù)場景,并且能夠良好的支撐業(yè)務(wù)的負載。

高并發(fā)架構(gòu)相關(guān)概念

什么是并發(fā)?

并發(fā)是指并發(fā)的訪問,也就是某個時間點,有多少個訪問同時到來;

通常如果一個系統(tǒng)的日PV在千萬以上,有可能是一個高并發(fā)的系統(tǒng),這里需要注意的是:只是有可能是一個高并發(fā)的系統(tǒng),不一定是一個高并發(fā)的系統(tǒng)。

并發(fā)數(shù)和QPS是不同的概念,一般說QPS會說多少并發(fā)用戶下QPS,當(dāng)QPS相同時,并發(fā)用戶數(shù)越大,網(wǎng)站并發(fā)處理能力越好。當(dāng)并發(fā)用戶數(shù)過大時,會造成進程(線程)頻繁切換,反正真正用于處理請求的時間變少,每秒能夠處理的請求數(shù)反而變少,同時用戶的請求等待時間也會變大。找到最佳線程數(shù)能夠讓web系統(tǒng)更穩(wěn)定,效率更高。

并發(fā)數(shù) = QPS*平均響應(yīng)時間

高并發(fā)具體關(guān)心什么?

QPS: 每秒請求或查詢的數(shù)量,在互聯(lián)網(wǎng)領(lǐng)域,指每秒響應(yīng)請求數(shù);

吞吐量: 單位時間內(nèi)處理的請求量(通常由QPS與并發(fā)數(shù)決定);

響應(yīng)時間: 從請求發(fā)出到收到響應(yīng)花費的時間,例如一個系統(tǒng)處理一個HTTP請求需要100ms,這個100ms就是系統(tǒng)的響應(yīng)時間;

PV: 綜合瀏覽量,即頁面瀏覽量或者點擊量,一個訪客在24小時內(nèi)訪問的頁面數(shù)量;

UV: 獨立訪客 ,即一定時間范圍內(nèi)相同訪客多次訪問網(wǎng)站,只計算為一個獨立的訪客;

帶寬: 計算帶寬大小需要關(guān)注兩個指標(biāo),峰值流量和頁面的平均大小 ;

日網(wǎng)站帶寬可以使用下面的公式來粗略計算:

 
 
 
 
  1. 日網(wǎng)站帶寬=pv/統(tǒng)計時間(換算到秒)*平均頁面大?。▎挝籯B)*8 

峰值一般是平均值的倍數(shù);

QPS不等于并發(fā)連接數(shù),QPS是每秒HTTP請求數(shù)量,并發(fā)連接數(shù)是系統(tǒng)同時處理的請求數(shù)量;

 
 
 
 
  1. 峰值每秒請求數(shù)(QPS) = (總PV數(shù) * 80%) /(6小時秒數(shù) * 20%) 

壓力測試: 測試能承受的最大并發(fā),測試最大承受的QPS值。

測試工具(ab):目標(biāo)是URL,可以創(chuàng)建多個訪問線程對同一個URL進行訪問(Nginx);

ab的使用: 模擬并發(fā)請求100次(100個人),總共請求5000次(每個人請求5000次)

 
 
 
 
  1. ab -c 100 -n 5000 待測試網(wǎng)站(內(nèi)存和網(wǎng)絡(luò)不超過最高限度的75%) 

QPS達到50:一般的服務(wù)器就可以應(yīng)付;

QPS達到100: 假設(shè)關(guān)系型數(shù)據(jù)庫的每次請求在0.01秒完成(理想),假設(shè)單頁面只有一個SQL查詢,那么100QPS意味著1秒中完成100次請求,但此時我們不能保證數(shù)據(jù)庫查詢能完成100次;

方案:數(shù)據(jù)庫緩存層、數(shù)據(jù)庫的負載均衡;

QPS達到800: 假設(shè)我們使用 百兆寬帶,意味著網(wǎng)站出口的實際帶寬是8M左右,假設(shè)每個頁面是有10k,在這個并發(fā)的條件下,百兆帶寬已經(jīng)被吃完;

方案:CDN加速、負載均衡

QPS達到1000: 假設(shè)使用Redis緩存數(shù)據(jù)庫查詢數(shù)據(jù),每個頁面對Redis請求遠大于直接對DB的請求;

Redis的悲觀并發(fā)數(shù)在5W左右,但有可能之前內(nèi)網(wǎng)帶寬已經(jīng)被吃光,表現(xiàn)出不穩(wěn)定;

方案:靜態(tài)HTML緩存

QPS達到2000: 文件系統(tǒng)訪問鎖都成為了災(zāi)難;

方案:做業(yè)務(wù)分離,分布式存儲;

高并發(fā)解決方案案例

流量優(yōu)化: 防盜鏈處理(把一些惡意的請求拒之門外)

前端優(yōu)化: 減少HTTP請求、添加異步請求、啟用瀏覽器的緩存和文件壓縮、CDN加速、建立獨立的圖片服務(wù)器;

服務(wù)端優(yōu)化: 頁面靜態(tài)化處理、并發(fā)處理、隊列處理;

數(shù)據(jù)庫優(yōu)化: 數(shù)據(jù)庫的緩存、分庫分表、分區(qū)操作、讀寫分離、負載均衡

Web服務(wù)器優(yōu)化: 負載均衡

高并發(fā)下的經(jīng)驗公式

通過QPS和PV計算部署服務(wù)器的臺數(shù)

單臺服務(wù)器每天PV計算

 
 
 
 
  1. 公式1:每天總PV = QPS * 3600 * 6 
  2. 公式2:每天總PV = QPS * 3600 * 8 

服務(wù)器計算

 
 
 
 
  1. 服務(wù)器數(shù)量 =   ceil( 每天總PV / 單臺服務(wù)器每天總PV ) 

峰值QPS和機器計算公式

原理: 每天80%的訪問集中在20%的時間里,這20%時間叫做峰值時間

公式: ( 總PV數(shù) * 80% ) / ( 每天秒數(shù) * 20% ) = 峰值時間每秒請求數(shù)(QPS)

機器: 峰值時間每秒QPS / 單臺機器的QPS = 需要的機器。

本文轉(zhuǎn)載自微信公眾號「冰河技術(shù)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系冰河技術(shù)公眾號。

 


當(dāng)前標(biāo)題:如何設(shè)計一個支撐高并發(fā)大流量的系統(tǒng)?這次我將設(shè)計思路分享給大家!
網(wǎng)頁鏈接:http://m.5511xx.com/article/djjhcoo.html