如何優(yōu)化網站速度?
摘要:對于網站經營者來說,讓用戶等待的時間過長,也許會造成毀滅性的后果。我見過很多人為了享用某家特色小吃而在餐館門口樂此不疲地排著長隊,卻沒有聽說有多少用戶執(zhí)著地等待一個速度緩慢的網站而不去嘗試別的網站
對于網站經營者來說,讓用戶等待的時間過長,也許會造成毀滅性的后果。我見過很多人為了享用某家特色小吃而在餐館門口樂此不疲地排著長隊,但沒有聽說有多少用戶執(zhí)著地等待一個速度緩慢的網站而不去嘗試別的網站。
在這段等待的時間里,到底發(fā)生了什么?
.數據在網絡上傳輸的時間
.站點服務器處理請求并生成回應數據的時間
.瀏覽器本地和渲染的時間
數據在網絡上傳輸的時間總的包括兩部分,即瀏覽器端主機發(fā)出的請求數據經過網絡到達服務器的時間,以及服務器的回應數據經過網絡回到瀏覽器主機的時間。這兩部分,我們稱它為響應時間,它的決定因素主要包括數據量和網絡帶寬。
站點服務器處理請求并生成回應數據的時間主要消耗在服務器端,包括非常多的環(huán)節(jié),我們一般用另一個指標來衡量這部分時間,即每秒處理請求數,也稱吞吐量。影響服務器吞吐量的因素非常多,比如服務器的并發(fā)策略、I/O性能、CPU核數等。
瀏覽器本地計算和渲染的時間自然消耗在瀏覽器,它依賴的因素包括瀏覽器采用的并發(fā)策略、樣式渲染方式、腳本解釋器的性能、頁面大小、頁面組件的數量、頁面組件緩存狀況、頁面組件域名分布以及域名DNS解析等。
現(xiàn)在,如果有用戶向你抱怨網站速度慢,你該知道慢在哪里了嗎?下面小編先簡單介紹我們常用的網站速度優(yōu)化方案。
1.增加帶寬
當網站的網頁或組件下載速度變慢時,最省事的辦法就是增加服務器帶寬;當然如何節(jié)省帶寬、帶寬增加是否就能解決網站速度慢?可以參考服務器帶寬租賃的問題。
2.減少網頁中的HTTP請求
我們知道網站中幾乎任何一個網頁都包含了多個組件,每個組件都需要下載、計算和渲染,這些行為都會消耗時間。為此我們可以做以下嘗試和努力:
.設計更加簡單的網頁,使其包含較少的圖片和腳本,但是這可能犧牲了美觀和用戶交互。
.將多個圖片合并為一個文件,利用CSS背景圖片的偏移技術呈現(xiàn)在網頁中,避免了多個圖片的下載。
.合并JavaScript腳本或者CSS樣式表。
.充分利用HTTP中的瀏覽器端Cache策略,減少重復下載。
3.加快服務器腳本計算速度
使用主流的服務器腳本語言,如:PHP、asp、JSP等。
4.使用動態(tài)內容緩存
5.使用數據緩存
6.將動態(tài)內容靜態(tài)化
7.更換web服務器軟件(Apache、IIS)
8.頁面組件分離
9.合理部署服務器
機房有很多,比如:電信機房、聯(lián)通機房、BGP多線機房等,而與之對應的IDC服務商更數不勝數。當你在托管服務器的時候,選擇網絡穩(wěn)定、電力不中斷、服務好的IDC服務器。
10.使用負載均衡
當web服務器所承受的壓力達到極限是,就需要有更多的服務器來分擔工作;我們可以通過以下方式來實現(xiàn)web負載均衡:HTTP重定向、DNS輪詢解析、服務器集群等。
11.優(yōu)化數據庫
12.減少視覺等待