高并發(fā)對(duì)服務(wù)器的需求有哪些?
1)從客戶端看
盡量減少請(qǐng)求數(shù)量,比如:依靠客戶端自身的緩存或處理能力。
盡量減少對(duì)服務(wù)端資源的不必要耗費(fèi),比如:重復(fù)使用某些資源,如連接池客戶端處理的基本原則就是:能不訪問服務(wù)端就不要訪問。
2)從服務(wù)端看
增加資源供給,比如:更大的網(wǎng)絡(luò)帶寬,使用更高配置的服務(wù)器,使用高性能的Web服務(wù)器,使用高性能的數(shù)據(jù)庫。
請(qǐng)求分流,比如:使用集群,分布式的系統(tǒng)架構(gòu)。
應(yīng)用優(yōu)化,比如:使用更的編程語言,優(yōu)化處理業(yè)務(wù)邏輯的算法,優(yōu)化訪問數(shù)據(jù)庫的SQL。
基本原則:分而治之,并提高單個(gè)請(qǐng)求的處理速度。
一個(gè)系統(tǒng)的并發(fā)能力是多少呢?怎么衡量?
衡量指標(biāo)常用的有響應(yīng)時(shí)間,吞吐量,每秒查詢率QPS,并發(fā)用戶數(shù)
響應(yīng)時(shí)間:系統(tǒng)對(duì)請(qǐng)求做出響應(yīng)的時(shí)間。你簡(jiǎn)單理解為一個(gè)http請(qǐng)求返回所用的時(shí)間
吞吐量:?jiǎn)挝粫r(shí)間內(nèi)處理的請(qǐng)求數(shù)量。
QPS:每秒可以處理的請(qǐng)求數(shù)
并發(fā)用戶數(shù):同時(shí)承載正常使用系統(tǒng)功能的用戶數(shù)量。也就是多少個(gè)人同時(shí)使用這個(gè)系統(tǒng),這個(gè)系統(tǒng)還能正常運(yùn)行。這個(gè)用戶數(shù)量就是并發(fā)用戶數(shù)啦。