標籤:使用者 分發 大型網站 頻率 expired 代理服務 存在 緩衝 硬體
1. 效能
在瀏覽器端,可能通過瀏覽器緩衝、使用頁面壓縮、合理布局頁面、減少cookie傳輸等手段改善效能。還可以使用CDN,將網站靜態內容分發至離使用者最近的網路服務商機房。可以在網站機房部署反向 Proxy伺服器,緩衝熱點檔案,加快請求響應速度。
在應用伺服器端,可以使用伺服器本機快取和分布式緩衝。也可以通過非同步作業將使用者請求發送至訊息佇列等待後續任務處理,而當前請求直接返回給使用者。
將多台應用伺服器組成一個叢集共同對外服務。
在代碼層面,可以通過使用多線程,改善記憶體管理等手段最佳化效能。
1.1 效能測試指標: 回應時間、 並發數、 輸送量、 效能計數器
1.2 效能測試方法:
1.2.1 效能測試: 以系統設計初期規劃的效能指標為預期目標,對系統不斷施加壓力,難系統在資源可接受範圍內是否能達到效能預期
1.2.2 負載測試: 對系統不斷地增加並發請求以增加系統壓力,直到系統的某項或多項效能指標達到安全臨界值。如某種資源已經呈飽和狀態,這時繼續對系統施加壓力,系統的處理能力不但不能提高,反而會下降。
1.2.3 壓力測試: 超過安全負載的情況下,對系統繼續施加壓力,直到系統崩潰或不能再處理任何請求,以此獲得系統最大壓力承受能力。
1.2.4 穩定性測試: 在特定硬體、軟體、網路環境條件下,給系統載入一定業務壓力,使系統運行一段較長時間,以此檢測系統是否穩定。
1.3 效能最佳化
1.3.1 前端效能最佳化:
1.3.1.1 減少HTTP請求: 合并CSS,合并JS,合并圖片
1.3.1.2 使用瀏覽器緩衝: 對於CSS,JS,LOGO及一些更新頻率都比較低的表態資源檔,可通過設定HTTP頭中Cache-Control和Expired的屬性,緩衝在瀏覽器中
1.3.1.3 啟用壓縮: 壓縮對服務端和瀏覽器都會產生一定的壓力,需權衡考慮
1.3.1.4 CSS放在頁面最上面,JS放在頁面最下面
1.3.1.5 減少Cookie傳輸,考慮靜態資源使用獨立網域名稱
1.3.2 CDN加速
1.3.3 反向 Proxy
1.3.4 應用伺服器效能最佳化
1.3.4.1 分布式緩衝: Memcached
1.2.4.2 非同步作業: 任何可以晚點做的事情都應該晚點再做
1.3.4.3 使用叢集
1.3.4.4 代碼最佳化: 多線程、資源複用(資料庫連接、複雜物件等)、資料結構、記憶體回收
1.3.5 儲存效能最佳化
1.3.5.1 固態硬碟 vs 機械硬碟
1.3.5.2 B+樹 vs LSM 樹
1.3.5.3 RAID vs HDFS
《大型網站技術架構:核心原理與案例分析》-- 讀書筆記 (2) : 大型網站核心架構要素(1) -- 效能