來源:不言 發(fā)布時(shí)間:2018-12-15 16:11:50 閱讀量:1014
這篇文章主要介紹了關(guān)于如何解決PHP的高并發(fā)和大流量的問題,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下
基礎(chǔ)知識(shí)
TFS : 吞吐量 (吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)處理請(qǐng)求的數(shù)量)
RT : 響應(yīng)時(shí)間 (從請(qǐng)求發(fā)出到收到響應(yīng)時(shí)間)
并發(fā)數(shù) : 在一段時(shí)間內(nèi)同時(shí)訪問站點(diǎn)的用戶數(shù)
QPS : 每秒查詢率 (每秒請(qǐng)求或者相應(yīng)數(shù),在互聯(lián)網(wǎng)領(lǐng)域,值每秒相應(yīng)請(qǐng)求數(shù)(值HTTP請(qǐng)求))
PV : page view 頁(yè)面訪問量
UV : user view 用戶訪問量
一般來說,日pv(訪問量)大于1000萬(wàn)就可以算做高并發(fā)
日網(wǎng)站帶寬 = PV / 統(tǒng)計(jì)時(shí)間 (秒) * 頁(yè)面平均大小(KB) * 8
壓力測(cè)試
推薦使用apache自帶的壓力測(cè)試工具 ab
使用方法:進(jìn)入apache目錄,在當(dāng)前目錄下運(yùn)行(windows):
1 |
|
請(qǐng)求結(jié)束后我們可以得到數(shù)據(jù):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
優(yōu)化
隨著QPS增長(zhǎng),每個(gè)階段需要做不同的優(yōu)化措施,優(yōu)化的方案也與硬件,網(wǎng)絡(luò)條件相關(guān)
QPS達(dá)到50
無需優(yōu)化
QPS達(dá)到100(數(shù)據(jù)庫(kù)層)
假設(shè)數(shù)據(jù)庫(kù)每次查詢0.01S,每個(gè)頁(yè)面只有一個(gè)sql查詢,那么此時(shí)已經(jīng)是數(shù)據(jù)庫(kù)極限
優(yōu)化措施:數(shù)據(jù)庫(kù)緩存,數(shù)據(jù)庫(kù)負(fù)載均衡,redis,memcache
QPS達(dá)到800 (網(wǎng)絡(luò)帶寬)
假設(shè)每個(gè)頁(yè)面只有10K,那么在800QPS下,帶寬已經(jīng)耗盡
優(yōu)化措施:CDN加速 負(fù)載均衡
QPS達(dá)到1000
優(yōu)化措施:靜態(tài)頁(yè)面
流量?jī)?yōu)化:
防盜鏈處理
前端優(yōu)化:
減少HTTP請(qǐng)求
添加異步請(qǐng)求
啟用瀏覽器緩存
服務(wù)器優(yōu)化:
頁(yè)面靜態(tài)化
并發(fā)處理
隊(duì)列處理
數(shù)據(jù)庫(kù)優(yōu)化:
數(shù)據(jù)庫(kù)緩存
分庫(kù)分表,分區(qū)操作
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP中文網(wǎng)!
在線
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線溝通:
客服
熱線
7*24小時(shí)客服服務(wù)熱線
關(guān)注
微信
關(guān)注官方微信