談大規(guī)模分布式系統(tǒng)的高性能架構(gòu)

一、性能指標(biāo)

1. 響應(yīng)時(shí)間:從發(fā)出請(qǐng)求到收到響應(yīng)數(shù)據(jù)的時(shí)間

2. 并發(fā)數(shù):同時(shí)提交請(qǐng)求的用戶數(shù)

3. 吞吐量:?jiǎn)挝粫r(shí)間內(nèi)系統(tǒng)處理的請(qǐng)求數(shù)

TPS、HPS、QPS

4. 內(nèi)存使用、CPU使用、磁盤、系統(tǒng)負(fù)載

二、性能優(yōu)化策略

排查性能瓶頸的方法:檢查處理的各個(gè)環(huán)節(jié)日志,分析各環(huán)節(jié)響應(yīng)時(shí)間是否超過預(yù)期。

三、性能優(yōu)化方法

1. web前端性能優(yōu)化方法

主要手段:瀏覽器訪問、CDN、反向代理

1.1 瀏覽器訪問優(yōu)化:

a. 減少HTTP請(qǐng)求,包括合并css、js、圖片;

b. 使用瀏覽器緩存;

c. 文件壓縮;

d. 減少cookie傳輸;

e. css在js之前。

1.2 CDN緩存靜態(tài)資源,如圖片、CSS、JS、靜態(tài)網(wǎng)頁(yè)

1.3 反向代理緩存靜態(tài)內(nèi)容,減輕Web服務(wù)器的壓力

2. 應(yīng)用服務(wù)器性能優(yōu)化方法:

2.1 分布式緩存

緩存適合存放讀寫比高、很少變化的數(shù)據(jù)。

緩存的本質(zhì)是內(nèi)存Hash表。

可能存在一定時(shí)間的數(shù)據(jù)不一致。

緩存預(yù)熱:緩存系統(tǒng)啟動(dòng)時(shí)就把數(shù)據(jù)加載好。

通過把不存在的緩存數(shù)據(jù)也緩存起來(lái)防止緩存穿透。

分布式緩存架構(gòu)有JBoss和Memcached兩種。

Memcached內(nèi)存管理方法:固定空間分配,slab,chunk。

Memcached路由算法:一致性Hash算法。

2.2 異步(消息隊(duì)列)

2.3 集群

2.4 代碼優(yōu)化

a. 多線程

b. 資源復(fù)用:?jiǎn)卫?、?duì)象池

c. 垃圾回收

3. 存儲(chǔ)性能優(yōu)化

傳統(tǒng)服務(wù)器使用Raid實(shí)現(xiàn)數(shù)據(jù)在多塊硬盤的并發(fā)讀寫。

HDFS應(yīng)用在分布式文件系統(tǒng)中。

HDFS中有2中重要的服務(wù)器角色:NameNode、DataNode。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容