| 一、高并發(fā)架構(gòu)相關(guān)概念 1、并發(fā):是指并發(fā)的訪問,也就是某個(gè)時(shí)間點(diǎn),有多少個(gè)訪問同時(shí)到來; 通常如果一個(gè)系統(tǒng)的日PV在千萬以上,有可能是一個(gè)高并發(fā)的系統(tǒng); 2、具體關(guān)心什么? QPS:每秒請求或查詢的數(shù)量,在互聯(lián)網(wǎng)領(lǐng)域,指每秒響應(yīng)請求數(shù); 吞吐量:單位時(shí)間內(nèi)處理的請求量(通常由QPS與并發(fā)數(shù)決定) 響應(yīng)時(shí)間:從請求發(fā)出到收到響應(yīng)花費(fèi)的時(shí)間,例如一個(gè)系統(tǒng)處理一個(gè)HTTP請求需要100ms,這個(gè)100ms就是系統(tǒng)的響應(yīng)時(shí)間; PV:綜合瀏覽量,即頁面瀏覽量或者點(diǎn)擊量,一個(gè)訪客在24小時(shí)內(nèi)訪問的頁面數(shù)量; UV:獨(dú)立訪客 ,即一定時(shí)間范圍內(nèi)相同訪客多次訪問網(wǎng)站,只計(jì)算為一個(gè)獨(dú)立的訪客; 帶寬:計(jì)算帶寬大小需要關(guān)注兩個(gè)指標(biāo),峰值流量和頁面的平均大小; 日網(wǎng)站帶寬=pv/統(tǒng)計(jì)時(shí)間(換算到秒)*平均頁面大小(單位kB)*8 峰值一般是平均值的倍數(shù); QPS不等于并發(fā)連接數(shù),QPS是每秒HTTP請求數(shù)量,并發(fā)連接數(shù)是系統(tǒng)同時(shí)處理的請求數(shù)量; 峰值每秒請求數(shù)(QPS) = (總PV書*80%)/(6小時(shí)秒數(shù)*20%) 壓力測試:測試能承受的最大并發(fā),測試最大承受的QPS值 測試工具(ab):目標(biāo)是URL,可以創(chuàng)建多個(gè)訪問線程對同一個(gè)URL進(jìn)行訪問(Nginx); ab的使用:模擬并發(fā)請求100次(100個(gè)人),總共請求5000次(每個(gè)人請求5000次) ab -c 100 -n 5000 待測試網(wǎng)站(內(nèi)存和網(wǎng)絡(luò)不超過最高限度的75%) QPS達(dá)到50:一般的服務(wù)器就可以應(yīng)付; QPS達(dá)到100:假設(shè)關(guān)系型數(shù)據(jù)庫的每次請求在0.01秒完成(理想),假設(shè)單頁面只有一個(gè)SQL查詢,那么100QPS意味著1秒中完成100次請求,但此時(shí)我們不能保證數(shù)據(jù)庫查詢能完成100次; 方案:數(shù)據(jù)庫緩存層、數(shù)據(jù)庫的負(fù)載均衡; QPS達(dá)到800:假設(shè)我們使用 百兆寬帶,意味著網(wǎng)站出口的實(shí)際帶寬是8M左右,假設(shè)每個(gè)頁面是有10k,在這個(gè)并發(fā)的條件下,百兆帶寬已經(jīng)被吃完; 方案:CDN加速、負(fù)載均衡 QPS達(dá)到1000:假設(shè)使用memcache緩存數(shù)據(jù)庫查詢數(shù)據(jù),每個(gè)頁面對memcache請求遠(yuǎn)大于直接對DB的請求; memacache的悲觀并發(fā)數(shù)在2W左右,但有可能之前內(nèi)網(wǎng)帶寬已經(jīng)被吃光,表現(xiàn)出不穩(wěn)定: 方案:靜態(tài)HTML緩存 | 
|  |