在操作系統(tǒng)中高并發(fā)是指一個(gè)時(shí)間段中有幾個(gè)程序都處于已啟動(dòng)運(yùn)行到運(yùn)行完畢之間,且這幾個(gè)程序都是在同一個(gè)處理機(jī)上運(yùn)行,但任一個(gè)時(shí)刻點(diǎn)上只有一個(gè)程序在處理機(jī)上運(yùn)行。今天小編就和大家聊一聊基于服務(wù)器架構(gòu)實(shí)現(xiàn)高并發(fā)性能測(cè)試與項(xiàng)目實(shí)戰(zhàn)方案。
在操作系統(tǒng)中高并發(fā)是指一個(gè)時(shí)間段中有幾個(gè)程序都處于已啟動(dòng)運(yùn)行到運(yùn)行完畢之間,且這幾個(gè)程序都是在同一個(gè)處理機(jī)上運(yùn)行,但任一個(gè)時(shí)刻點(diǎn)上只有一個(gè)程序在處理機(jī)上運(yùn)行。今天小編就和大家聊一聊基于服務(wù)器架構(gòu)實(shí)現(xiàn)高并發(fā)性能測(cè)試與項(xiàng)目實(shí)戰(zhàn)方案。
服務(wù)器架構(gòu)
業(yè)務(wù)從發(fā)展的初期到逐漸成熟,服務(wù)器架構(gòu)也是從相對(duì)單一到集群,再到分布式服務(wù)。
一個(gè)可以支持高并發(fā)的服務(wù)少不了好的服務(wù)器架構(gòu),需要有均衡負(fù)載,
數(shù)據(jù)庫(kù)需要主從集群,NoSQL緩存需要主從集群,靜態(tài)文件需要上傳CDN,這些都是能讓業(yè)務(wù)程序流暢運(yùn)行的強(qiáng)大后盾。
服務(wù)器這塊多是需要運(yùn)維人員來(lái)配合搭建,具體我就不多說(shuō)了,點(diǎn)到為止。
大致需要用到的服務(wù)器架構(gòu)如下:
服務(wù)器:
html
css
js
image
2.并發(fā)測(cè)試
高并發(fā)相關(guān)的業(yè)務(wù),需要進(jìn)行并發(fā)的測(cè)試,通過(guò)大量的數(shù)據(jù)分析評(píng)估出整個(gè)架構(gòu)可以支撐的并發(fā)量。
測(cè)試高并發(fā)可以使用第三方服務(wù)器或者自己測(cè)試服務(wù)器,利用測(cè)試工具進(jìn)行并發(fā)請(qǐng)求測(cè)試,分析測(cè)試數(shù)據(jù)得到可以支撐并發(fā)數(shù)量的評(píng)估,這個(gè)可以作為一個(gè)預(yù)警參考,俗話說(shuō)知己自彼百戰(zhàn)不殆。
第三方服務(wù):
并發(fā)測(cè)試工具:
Apache JMeter
Visual Studio性能負(fù)載測(cè)試
Microsoft Web Application Stress Tool
3.實(shí)戰(zhàn)方案
1)通用方案
日用戶流量大,但是比較分散,偶爾會(huì)有用戶高聚的情況;
場(chǎng)景: 用戶簽到,用戶中心,用戶訂單等。
說(shuō)明:
場(chǎng)景中的這些業(yè)務(wù)基本是用戶進(jìn)入APP后會(huì)操作到的,除了活動(dòng)日(618、雙11等),這些業(yè)務(wù)的用戶量都不會(huì)高聚集,同時(shí)這些業(yè)務(wù)相關(guān)的表都是大數(shù)據(jù)表,業(yè)務(wù)多是查詢操作,所以我們需要減少用戶直接命中DB的查詢;優(yōu)先查詢緩存,如果緩存不存在,再進(jìn)行DB查詢,將查詢結(jié)果緩存起來(lái)。