一、性能指標(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。