Web開(kāi)發(fā)中怎么提升高并發(fā)的能力

這篇文章主要介紹“Web開(kāi)發(fā)中怎么提升高并發(fā)的能力”,在日常操作中,相信很多人在Web開(kāi)發(fā)中怎么提升高并發(fā)的能力問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Web開(kāi)發(fā)中怎么提升高并發(fā)的能力”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到平壩網(wǎng)站設(shè)計(jì)與平壩網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋平壩地區(qū)。

我們說(shuō)的高并發(fā)是什么?

上面的定義明顯不是我們通常所言的并發(fā),在互聯(lián)網(wǎng)時(shí)代,所講的并發(fā)、高并發(fā),通常是指并發(fā)訪問(wèn)。也就是在某個(gè)時(shí)間點(diǎn),有多少個(gè)訪問(wèn)同時(shí)到來(lái)。

我看到有人給高并發(fā)下了類(lèi)似這樣的定義:

高并發(fā)通常是指我們提供的系統(tǒng)服務(wù)能夠同時(shí)并行處理很多請(qǐng)求。

來(lái)看看這個(gè)定義,這里首先把并發(fā)給混淆到并行了。關(guān)于并發(fā)并行的區(qū)別看這里(https://laike9m.com/blog/huan-zai-yi-huo-bing-fa-he-bing-xing,61/),我就不多說(shuō),繼續(xù)探討并發(fā)。

然后定義又說(shuō)很多請(qǐng)求?什么叫很多請(qǐng)求?做為中國(guó)人,這個(gè)詞讓我想象力一發(fā)不可收拾……好了,拉回來(lái),繼續(xù)本文。

高并發(fā)在網(wǎng)絡(luò)上沒(méi)有明確的定義。但根據(jù)我搜索情況,一般都是pv在千萬(wàn)級(jí)別以上的公司才會(huì)涉及到這個(gè)概念。所以我得出一個(gè)自定義概念:如果某個(gè)系統(tǒng)的日pv在千萬(wàn)級(jí)別以上,他就可能是一個(gè)高并發(fā)的系統(tǒng)。

為什么說(shuō)是可能?那是因?yàn)橛械墓就耆蛔呒夹g(shù)路線,全靠機(jī)器堆,這不在我們的討論范圍。為了避免裝逼,我們下面主要講并發(fā)(不談高)

并發(fā)的問(wèn)題,我們具體該關(guān)心什么?

講真話,高并發(fā)是個(gè)比較抽象的概念。很難有一個(gè)統(tǒng)一的可衡量的標(biāo)準(zhǔn)。哪么有一些其它維度的標(biāo)準(zhǔn)指標(biāo)來(lái)衡量系統(tǒng)的性能嗎?搬出以前計(jì)算機(jī)課程里邊的一些指標(biāo)來(lái)跟大家聊聊。

先聲明幾個(gè)概念,別打瞌睡。

  • QPS(TPS):每秒鐘 request/事務(wù) 數(shù)量,在互聯(lián)網(wǎng)領(lǐng)域,指每秒響應(yīng)請(qǐng)求數(shù)(指http請(qǐng)求);

  • 吞吐量:?jiǎn)挝粫r(shí)間內(nèi)處理的請(qǐng)求數(shù)量(通常由QPS與并發(fā)數(shù)決定);

  • 響應(yīng)時(shí)間:系統(tǒng)對(duì)一個(gè)請(qǐng)求做出響應(yīng)的平均時(shí)間。例如系統(tǒng)處理一個(gè)HTTP請(qǐng)求需要200ms,這個(gè)200ms就是系統(tǒng)的響應(yīng)時(shí)間(我認(rèn)為這里應(yīng)該僅包含處理時(shí)間,網(wǎng)絡(luò)傳輸時(shí)間忽略)。

這里一定要注意呃,QPS ≠ 并發(fā)數(shù)

并發(fā)是指,某個(gè)時(shí)刻有多少個(gè)訪問(wèn)同時(shí)到來(lái)。QPS是指秒鐘響應(yīng)的請(qǐng)求數(shù)量。那么這里就肯容易推算出一個(gè)公式:

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

后面我們的分析都是圍繞這個(gè)公示來(lái)進(jìn)行展開(kāi),沒(méi)明白的再回味一下。

現(xiàn)在我們來(lái)假設(shè)一個(gè)場(chǎng)景:既然QPS是每秒鐘處理的http請(qǐng)求數(shù)量。那么1s = 1000ms。假設(shè)我們當(dāng)前一個(gè)http請(qǐng)求服務(wù)器處理完成需要100ms(即那么 平均響應(yīng)時(shí)間 = 100ms)。那么它1s鐘可以處理10個(gè)請(qǐng)求。也就是說(shuō) qps = 10。推算出 并發(fā)數(shù) = 10

常常我們被問(wèn)到高并發(fā)的問(wèn)題,其實(shí)從某種程度上來(lái)說(shuō),他們是想問(wèn)怎么提高現(xiàn)有程序的性能?,F(xiàn)在我們基于上面的假設(shè),來(lái)進(jìn)行分析。假設(shè)現(xiàn)在有個(gè)系統(tǒng)性能上就是我們上面的假設(shè),它每天有 300萬(wàn)pv,運(yùn)行在單機(jī)上(當(dāng)然經(jīng)常宕機(jī)),按照上面的系統(tǒng)性能數(shù)據(jù),給出優(yōu)化解決方案。

提高并發(fā)能力

通過(guò)上面的分析,要提升并發(fā)能力,我們就需要提升我們的qps(其實(shí)這里并不完全正確,為了說(shuō)明問(wèn)題,我們先放棄一部分正確性

最快速解決方案,就是增加機(jī)器。我們根據(jù)以上情況來(lái)實(shí)際計(jì)算一下。

  • 訪問(wèn)量:200w pv

  • QPS:10

根據(jù)日常經(jīng)驗(yàn),80% 的訪問(wèn)量集中在 20%的時(shí)間,算一下這 200w pv實(shí)際需要機(jī)器達(dá)到多少qps才能滿足。

qps = (200w * 0.8) / (24 * 3600 * 0.3)

qps = 61.7

實(shí)際上如果在單機(jī)上,要求我們每秒鐘處理請(qǐng)求必須達(dá)到 61.7 以上才行,而實(shí)際上我們當(dāng)前系統(tǒng)的qps是 10。那么怎么解決?

方案一:上機(jī)器

個(gè)人的能力是有限的,團(tuán)隊(duì)的力量是無(wú)窮的。既然一臺(tái)機(jī)器搞不定,我們就多上幾臺(tái)機(jī)器。這就涉及到db主從、讀寫(xiě)分離、負(fù)載均衡等技術(shù)。

它的原理就是分流,把以前集中的壓力分散開(kāi)來(lái)。改方案見(jiàn)效快,靈活,實(shí)踐起來(lái)也更快。

方案二:增加單機(jī)性能

單機(jī)到底性能能夠增加到一個(gè)什么程度,這取決于你的機(jī)器配置,也取決于你的服務(wù)到底有多復(fù)雜。

ps: 寫(xiě)到這里突然有點(diǎn)能夠理解為什網(wǎng)上對(duì)高并發(fā)都是講很多請(qǐng)求,沒(méi)有具體數(shù)據(jù)了,因?yàn)檫@真的只能針對(duì)業(yè)務(wù)來(lái)講,100個(gè)并發(fā)對(duì)靜態(tài)網(wǎng)頁(yè)來(lái)說(shuō)根本沒(méi)有的事兒,但是對(duì)于某些密集計(jì)算型的估計(jì)…

那么常見(jiàn)的單機(jī)如何提升性能?比如:增加不常變化數(shù)據(jù)的緩存,開(kāi)啟php的opcache,優(yōu)化代碼(如:n+1問(wèn)題、多重嵌套循環(huán)、深層遞歸等),db表優(yōu)化等等。

到此,關(guān)于“Web開(kāi)發(fā)中怎么提升高并發(fā)的能力”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

網(wǎng)站題目:Web開(kāi)發(fā)中怎么提升高并發(fā)的能力
路徑分享:http://muchs.cn/article48/gecshp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站商城網(wǎng)站、定制開(kāi)發(fā)、關(guān)鍵詞優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名