包含兩部分:前端
1.前端性能
其本質就是經過各類技術手段去優化用戶實際感覺到的前端頁面展示時間。算法
前端性能優化的方法是相對標準的,工具如PageSpeed、Yslow等,都能系統性地分析前端的性能問題,並給出對應的解決方案建議。數據庫
2.後端性能
01:後端服務器的高性能架構,業內採用的最主要的技術手段是緩存。
02:集羣,也能夠從計算能力的角度,提高後端的處理性能。後端
緩存:
凡是想要提升性能的場合都會使用到緩存的思想。
若是緩存中的數據是通過複雜計算獲得的,那麼再次使用被緩存的數據時,就無需再重複計算便可直接使用。從這個意義上講,緩存還具備下降後端運算負載的做用。緩存
啓用了緩存後,當應用程序須要讀取數據時,會先試圖從緩存中讀取:
若是讀取成功,即緩存命中,能夠在很大程度上下降訪問數據庫的時間開銷。
若是沒有讀取到數據或者緩存中的數據已通過期失效,那麼應用程序就會訪問數據庫去獲取相應的數據。獲取到數據後,在把數據返回給應用程序的同時,還會把該數據寫入到緩存中,以備下次使用。性能優化
緩存主要用來存儲那些相對變化較少,而且聽從「二八原則」的數據。
這裏的「二八原則」指的是 80% 的數據訪問會集中在 20%的數據上。
緩存技術並不適用於那些須要頻繁修改的數據服務器
緩存的做用是輔助提高數據的讀取性能,即使緩存丟失或者過時失效,不影響系統的可用,但可能會由於在短期內帶來很大的訪問壓力使數據庫宕機,若是出現這種狀況,可使用緩存熱備技術,把緩存切換到熱備的緩存服務器上。
另外,若是採用的是分佈式緩存服務器集羣,那麼緩存被分佈到不一樣的服務器上,即使一臺宕機,也只會丟失一部分緩存數據,經過數據庫來重建這些緩存的開銷也不至於太大。session
分佈式緩存架構的主流技術方案:
JBoss Cache
Memcached ------主流架構
-------有關緩存的測試設計
001:對於前端,須要考慮緩存命中、不命中的的頁面加載時間
002:緩存過時,會從新從數據庫獲取數據,並重建緩存
003:因爲重啓,致使緩存丟失的場景,會從新讀取數據庫的數據,重建緩存
004:常常會遇到緩存髒數據,即數據庫的數據已更新,但緩存還沒更新
005:緩存穿透,訪問的數據並不存在,因此這些數據永遠不會被緩存,因此會一直訪問數據庫
006:系統冷啓動後,在系統預熱階段,數據庫的訪問壓力是否會超過數據庫的實際承受能力
007:對於分佈式緩存集羣,若是要增長更多節點進行擴容,是否會對原有的緩存數據產生影響?
008:針對架構中不一樣的位置使用的緩存,作不一樣的測試設計。併發
集羣:
----------牲口模式
負載均衡器接收外部請求,根據算法,把請求分配到集羣中的某臺
其中一臺宕機也不要緊
能夠隨時撤掉某臺機器
若是不夠的話能夠再進行擴容
----------寵物模式
不經過集羣,而是性能強勁的服務器
-------有關集羣的測試設計001:若是擴容,是否會對原有的session產生影響002:當其中一個機器或者多個宕機時,對用戶的影響003:對於無狀態的應用,系統的吞吐量,是否會隨着集羣中節點的數量呈線性增加004:負載均衡的算法是否符合預期005:集羣中的機器宕機後再恢復,是否產生負面影響006:高併發時,集羣可以承載的最大容量