《大型网站技术架构:核心原理与案例分析》-- 读书笔记 (2) : 大型网站核心架构要素(1) -- 性能...
1. 性能
??? 在瀏覽器端,可能通過瀏覽器緩存、使用頁面壓縮、合理布局頁面、減少cookie傳輸等手段改善性能。還可以使用CDN,將網站靜態內容分發至離用戶最近的網絡服務商機房。可以在網站機房部署反向代理服務器,緩存熱點文件,加快請求響應速度。
??? 在應用服務器端,可以使用服務器本地緩存和分布式緩存。也可以通過異步操作將用戶請求發送至消息隊列等待后續任務處理,而當前請求直接返回給用戶。
??? 將多臺應用服務器組成一個集群共同對外服務。
??? 在代碼層面,可以通過使用多線程,改善內存管理等手段優化性能。
??? 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 反向代理
??????? 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
?????????
?
轉載于:https://www.cnblogs.com/langfanyun/p/6749525.html
總結
以上是生活随笔為你收集整理的《大型网站技术架构:核心原理与案例分析》-- 读书笔记 (2) : 大型网站核心架构要素(1) -- 性能...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ajax——php基础知识(二)
- 下一篇: 网络专家预测未来互联网发展十大趋势