性能優化途徑css
減小http請求前端
合併css,合併js,合併圖片web
使用瀏覽器緩存數據庫
啓用壓縮瀏覽器
CSS放在頁面最上面,JS放在頁面最下面(瀏覽器會在下載完CSS以後纔對整個頁面進行渲染。JS則相反,瀏覽器加載JS後當即執行,有可能會阻塞整個頁面,形成頁面緩慢。)緩存
Content Distribute Network,內容分發網絡。性能優化
本質仍然是一個緩存,將數據緩存在離用戶最近的地方,使用戶以最快速度獲取數據。服務器
CDN可以緩存的通常是靜態資源,如圖片、文件、CSS、Script腳本、靜態頁面等。這些文件訪問頻率很高,將其緩存在CDN能夠極大改善網頁的打開速度。網絡
傳統的代理服務器將HTTP請求發送到互聯網上!數據結構
而反向代理服務器位於機房一側,代理Web服務器接收HTTP請求。
來自互聯網的訪問請求,必須通過反向代理服務器,至關於在Web服務器和可能的網絡攻擊之間創建了一個屏障。
反向代理服務器,能夠經過配置緩存功能加速Web請求。
緩存指將數據存儲在相對較高訪問速度的存儲介質中,以供系統處理。(減小數據訪問時間,減小計算時間)
緩存的本質是一個內存Hash表,數據緩存以一對Key、Value的形式存儲在內存Hash表中。
頻繁修改的數據不適合使用緩存。讀多寫少的數據,適合緩存。寫入一次緩存,至少讀取兩次,緩存纔有意義。
沒有熱點的內容,沒有寫入緩存的意義。
要設置緩存失效時間,避免數據不一致和髒數據。
使用消息隊列
(傳統的)
(使用消息隊列的)
消息隊列具備很好的削峯做用,經過異步處理,將短期高併發產生的事務消息存儲在消息隊列中,從而削平高峯期的併發事務。
三臺Web服務器共同處理來自瀏覽器的訪問請求,每臺Web服務器須要處理的http請求只有總共併發請求數的三分之一。
多線程
併發訪問資源使用鎖
資源複用(數據庫鏈接,網絡通訊鏈接...)
恰當的使用數據結構
垃圾回收
海量的數據讀寫對磁盤訪問形成巨大壓力
使用固態硬盤
B樹存儲
離開業務發展的支撐和驅動,技術走不遠,甚至還會迷路。
業務優先