web網站性能優化

1 web前端的性能優化css

1.1瀏覽器訪問優化html

1.1.1 監測http請求前端

  主要手段:合併css,js,圖片web

1.1.2 使用瀏覽器緩存算法

  主要手段:緩存css,js,logo;當靜態文件變化時,應該批量更新,集中更新緩存,形成服務器負載聚增、網絡堵塞;數據庫

        設置http頭部Cache-Control 和Expires屬性瀏覽器

1.1.3 啓用壓縮緩存

  主要手段:對靜態文件css,js,html啓用GZip壓縮,可是對於圖片儘可能不要壓縮;安全

1.1.4 css放在頁面最上面、js放到頁面最下面性能優化

1.1.5 減小Cookie傳輸

1.2 CDN加速

  內容分發網絡,將數據緩存在離用戶最近的地方,使用戶以最快速度獲取數據

1.3 反向代理

  代理服務器保證安全,還能夠設置緩存功能加速web請求

2.應用服務器性能優化

2.1 分佈式緩存

2.1.1 緩存的基本原理

  緩存指保存在訪問速度較高的存儲介質中,同時也避免可重複計算

2.1.2合理使用緩存

  頻繁修改的數據

  沒有熱點的訪問

  數據不一致與髒讀:緩存要設置失效時間

  緩存可用性:分佈式部署緩存服務器,一臺服務器出現問題時,不至於緩存失效,致使數據庫訪問壓力聚增

  緩存預熱:熱點數據,利用LRU(最近最久未用算法)對不斷訪問的數據篩選淘汰

  緩存穿透

2.1.3 分佈式緩存架構

  JBoss Cache 更新同步的分佈式緩存

  Memcached  不互相通訊的分佈式緩存

2.2 異步操做

  消息隊列,異步

2.3 集羣

  在高併發的狀況下,使用負載均衡技術,爲一個應用搭建多臺服務器集羣,能夠避免單一服務器壓力過大

2.4 代碼優化

  2.4.1 多線程

    對象設計爲無狀態,使用局部對象,併發訪問資源時使用鎖

  2.4.2 資源複用

    減小資源開銷大的建立和銷燬,如數據庫鏈接,網絡通訊鏈接、線程、複雜對象等。兩種方式,單例和對象池

  2.4.3 數據結構

    原始字符串-md5->信息指紋-hash計算->HashCode

  2.4.4 垃圾回收   

3.存儲服務器性能優化

  3.1機械硬盤和固態硬盤

  3.2 B+樹 LSM樹

  3.3 RAID 和HDFS

相關文章
相關標籤/搜索