网站性能优化总结
網站性能優化
網站的性能優化主要分為兩點
第一:減少用戶的等待時間;
第二:應付高并發,大流量。
等待的真相,我們在等什么?
1.數據在網絡上傳輸的時間
2.站點服務器處理請求并生成回應數據的時間
3.瀏覽器本地計算和渲染的時間
數據在網絡上傳輸的時間總的來說包括兩部分,即瀏覽器主機發出的請求數據經過網絡到達服務器的時間,以及服務器的回應數據經過網絡回到瀏覽器端主機的時間。我們稱她為響應時間。
響應時間的決定因素主要包括發送的數據量和網絡帶寬
站點服務器處理請求并生成回應數據的時間主要消耗在服務器端,包括非常多的環節,我們一般用吞吐量來衡量著部分時間,即每秒處理請求數。影響服務器吞吐率的因素很多,比如服務器的并發策略,I/O模型,I/O性能,CPU核數等,當然也包括應用程序本身的邏輯復雜度。
瀏覽器本地計算和渲染的時間自然消耗在瀏覽器端,它依賴的因素包括瀏覽器采用的并發策略,樣式渲染方式,腳本解釋器的性能,頁面大小,頁面組件的數量,頁面組件緩存狀況,頁面組件域名分布以及域名DNS解析等。
?
優化性能,關鍵是要找到瓶頸,隨著網站的不斷優化和發展,瓶頸也會發生改變和遷移,后續一系列的文章將會介紹針對不同的瓶頸,給出相應的解決方案。一般我們會從以下一個方面來考慮優化
增加帶寬
不同類型的網站瓶頸也會不同,如果是以提供下載服務為主的站點來說,也許增加服務器帶寬是很有效的辦法。
減少網頁中的HTTP請求
我們知道web站點中的任何一個網頁都包含多個組件,每個組件都需要下載,計算或渲染,毫無疑問,這些行為都會消耗時間,那么如果減少這些行為,應該就可以加速網站的加載,要解決這一問題,我們可以從以下幾個方面來想辦法
2.1將多個圖片合并為一個文件,利用css北京若的偏移技術呈現,避免多個圖片的下載
2.2合并js和css,即將多個js,css這類靜態文件合并成一個請求。淘寶的開源nginx模塊(nginx-http-concat)實現了這一功能。
2.3利用http中的瀏覽器端cache策略,減少重復下載。
以上這些技巧主要是web網頁前端的優化
加快服務器腳本計算速度
像是asp.net,jsp這些有大型商家支持的技術,解釋器都會將腳本解釋后的中間代碼緩存起來。
使用動態內容緩存
將動態的內容的html輸出結果緩存起來
使用數據緩存
動態內容靜態化
即將動態的頁面生成靜態的頁面存起來,這時我們不在需要程序動態的判斷靜態內容是否過期,靜態頁面完全獨立了,不在需要動態代碼控制了。
更換web服務器軟件
頁面組件分離
合理部署服務器
這里主要指的是服務器的地理位置,和服務器與客戶端的運營商
使用負載均衡
當我們已經最大程度地發揮了單臺服務器的處理能力,但是,當它所能承受的壓力達到極限是,我們不得不考慮使用更多的服務器來分擔工作,這時我們就需要想辦法將流量合理的分配到各個服務器上,實現負載均衡,我們可以使用lvs(已集成到linux內核中)和nginx。
優化數據庫
考慮可擴展性
后續章節,將針對優化提到的各個解決方案進行詳解。
轉載于:https://www.cnblogs.com/askteam/p/5629933.html
總結
- 上一篇: Shell终端快捷键总结(mac)
- 下一篇: Apahce的虚拟用户认证及server