国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > 高并發(fā)處理及高并發(fā)后限流的一些解決思路總結(jié)[臨沂艾思網(wǎng)站開發(fā)]

高并發(fā)處理及高并發(fā)后限流的一些解決思路總結(jié)[臨沂艾思網(wǎng)站開發(fā)]

時(shí)間:2023-05-27 08:18:02 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-05-27 08:18:02 來(lái)源:網(wǎng)站運(yùn)營(yíng)

高并發(fā)處理及高并發(fā)后限流的一些解決思路總結(jié)[臨沂艾思網(wǎng)站開發(fā)]:最近還是有客戶陸續(xù)問到高并發(fā)的解決方案的問題, 總體來(lái)說(shuō)高并發(fā)是一種表現(xiàn), 對(duì)于每個(gè)項(xiàng)目每個(gè)程序的處理方式都是不同的, 不能一概而論的說(shuō)一種方法就能解決所有的高并發(fā)問題. 高并發(fā)的問題從根本上講也可以說(shuō)是成本的問題, 說(shuō)白了就是用最少的錢接最多的客. 艾思軟件結(jié)合最近解決的客戶問題, 總結(jié)了以下幾條常規(guī)思路, 讓不懂這方面的客戶有個(gè)大體認(rèn)識(shí).

1. 限流方式為限流接口即可:

因?yàn)閔ttp請(qǐng)求是無(wú)狀態(tài)的, 一次請(qǐng)求完成后, 服務(wù)器會(huì)自動(dòng)釋放資源. 即使用戶一直停在小程序的某一界面也不會(huì)對(duì)服務(wù)器造成壓力, 所以只要在后臺(tái)統(tǒng)計(jì)所有接口在某一時(shí)間內(nèi)訪問的數(shù)量即可

2. 統(tǒng)計(jì)多少數(shù)量時(shí)進(jìn)行限流:

某一時(shí)間內(nèi)統(tǒng)計(jì)多少數(shù)量開始限流, 這個(gè)需要對(duì)服務(wù)器的有代表性的, 頻繁訪問的接口(如首頁(yè)的接口, 產(chǎn)品列表的接口, 產(chǎn)品詳情的接口, 產(chǎn)品下單的一系列接口)進(jìn)行壓力測(cè)試, 設(shè)置的值比這個(gè)壓力結(jié)果稍小.

3. 高并發(fā)優(yōu)化的建議:

服務(wù)器的高并發(fā)的瓶頸主要體現(xiàn)在5個(gè)方面: 數(shù)據(jù)庫(kù), 帶寬, CPU, 內(nèi)存, 硬盤. 優(yōu)化高并發(fā)主要是在這些方面進(jìn)行平衡, 每一部分都充分利用以提高并發(fā)量. 在以往的經(jīng)驗(yàn)當(dāng)中數(shù)據(jù)庫(kù)的讀寫是最關(guān)鍵的地方, 所以優(yōu)化高并發(fā)最關(guān)鍵的地方是減少數(shù)據(jù)庫(kù)的讀寫.

寫緩存是壓力給內(nèi)存(radis)和硬盤(filecache)是最有效的方法. 如上面提到的接口中, 首頁(yè)接口, 產(chǎn)品列表, 產(chǎn)品詳情基本上數(shù)據(jù)變化較小, 可以直接寫到硬盤緩存中, 當(dāng)后臺(tái)數(shù)據(jù)有變化時(shí), 清除緩存, 前端有訪問時(shí)重新生成緩存即可.

CPU優(yōu)化只能是邏輯代碼上的優(yōu)化, 除有嚴(yán)重的代碼邏輯編寫不合理, 一般來(lái)說(shuō)可優(yōu)化程度不高, 而且在以往的經(jīng)驗(yàn)中, 服務(wù)器堵塞時(shí)CPU占用量并不高, 除非某一接口單獨(dú)訪問時(shí)就明顯卡頓然后去做代碼優(yōu)化, 否則如果出現(xiàn)CPU占到80%左右時(shí)就只能硬件升級(jí)CPU.

帶寬優(yōu)化就是把類似視頻, 圖片, JS/CSS(小程序不需要考慮)等, 單獨(dú)放OSS上, 咱們的系統(tǒng)本身也是如此, 所以也沒有太多可優(yōu)化的地方.

綜上所述, 在做高并發(fā)壓力測(cè)試時(shí), 要統(tǒng)計(jì)以上5種資源的利用情況. 根據(jù)實(shí)際情況做分析進(jìn)行優(yōu)化. 高并發(fā)優(yōu)化沒有統(tǒng)一的優(yōu)化標(biāo)準(zhǔn). 主要思想就是把數(shù)據(jù)庫(kù)讀寫壓力緩存到內(nèi)存或硬盤.

4. 接口訪問數(shù)量的如何統(tǒng)計(jì):

在統(tǒng)計(jì)時(shí)有兩個(gè)方案. 一個(gè)是識(shí)別用戶, 一個(gè)是不識(shí)別用戶.

兩種方式都需要用到radis, 數(shù)據(jù)庫(kù)兩個(gè)鍵值對(duì), 一個(gè)是用戶ID或token, 一個(gè)是訪問時(shí)間, 新登錄用戶訪問任何接口寫入用戶的ID及訪問時(shí)間, 用戶再次訪問接口更新用戶的訪問時(shí)間即可. 每新進(jìn)一個(gè)用戶統(tǒng)計(jì)數(shù)量加1, 當(dāng)超過某一并發(fā)值時(shí)(壓力測(cè)試的并發(fā)值), 統(tǒng)計(jì)某一時(shí)間(如10秒)內(nèi)"在線的"用戶數(shù)量, 如果在線用戶數(shù)量也大于預(yù)設(shè)值, 新進(jìn)用戶再訪問接口, 直接返回排隊(duì)信息, 不寫入Radis. 在線的老用戶可以正常訪問接口. 有新請(qǐng)求時(shí)再次統(tǒng)計(jì), 當(dāng)統(tǒng)計(jì)結(jié)果低于預(yù)設(shè)值時(shí), 新用戶可以正常訪問, 新用戶訪問時(shí)在線人數(shù)再添加, 超過之后再循環(huán)統(tǒng)計(jì)... 這種方案的好處是確保老用戶能一直在線, 完成一個(gè)正常流程, 如定單流程需要好幾步, 不至于正在下定單過程中不能訪問接口. 當(dāng)然如果定單流程中停頓10秒還是會(huì)被視為新用戶. 這一方案的缺點(diǎn)是如果已經(jīng)在線的用戶頻繁訪問接口, 依然有風(fēng)險(xiǎn)超過服務(wù)器的極限并發(fā)量.

不識(shí)別用戶方案, 只有一個(gè)鍵值:接口訪問時(shí)間, 每新進(jìn)一個(gè)訪問寫入一條記錄, 同時(shí)統(tǒng)計(jì)一定時(shí)間內(nèi)(接口平均正常返應(yīng)時(shí)間)的訪問數(shù)量, 如果也超過預(yù)設(shè)值(測(cè)試的并發(fā)量略小), 新進(jìn)訪問直接返回排隊(duì)信息, 不寫入數(shù)據(jù), 刪除舊的訪問記錄(超過接口平均反應(yīng)時(shí)間的記錄), 新進(jìn)請(qǐng)求觸發(fā)統(tǒng)計(jì), 直到統(tǒng)計(jì)結(jié)果低于預(yù)設(shè)值為止. 如果沒有超過預(yù)設(shè)值, 寫入記錄, 刪除舊的訪問時(shí)間, 正常訪問. 優(yōu)點(diǎn)時(shí)統(tǒng)計(jì)效率會(huì)更高, 限流效果和實(shí)時(shí)性更好, 缺點(diǎn)是同一用戶在購(gòu)買過程中會(huì)出現(xiàn)排隊(duì)消息, 等待的情況

5. 注意:

以上兩種方式都受radis并發(fā)量限制. 同時(shí)也受帶寬和其它硬件的最高并發(fā)量, 如果并發(fā)量實(shí)在太大, 以上方案不能解決. 解決的辦法只能添加硬件, 做分布式等





點(diǎn)擊輸入圖片描述(最多30字)







山東艾思軟件科技有限公司,是專業(yè)的App定制開發(fā), 網(wǎng)站制作企業(yè);為企業(yè)提供從軟件開發(fā)整合運(yùn)營(yíng)的一整套方案。App定制開發(fā)包括: 物聯(lián)網(wǎng)應(yīng)用系統(tǒng), 辦公ERP, OA, CMS, CRM類定制開發(fā), 聊天類APP開發(fā), 電商商城類

電話: 13365392580

關(guān)鍵詞:臨沂,總結(jié),思路,處理,解決

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉