網站開啟速度慢的原因,排查方法及最佳化方法

來源:互聯網
上載者:User

標籤:amp   target   ext   get   efault   路由器   條件   hot   text   

如果你的網站開啟速度過慢,而你又不知道該如何解決,那麼這篇文章是非看不可了。手把手的教你如何排查網站開啟慢的原因,以及最佳化方法。

排查網站開啟速度慢的原因:

1 網站伺服器速度或租用空間所在伺服器速度
伺服器空間速度是網站開啟速度快的硬體基礎,也是先決條件。否則即使你網站頁面設計的非常"苗條",網站開啟速度也會打折扣。解決辦法:要找你的空間商解決或換空間商。

如何檢測伺服器速度快慢呢?

方法一: ping命令看串連到伺服器的時間和丟包情況。

1>單擊“開始”鍵並選擇運行;接著在“運行”對話方塊中輸入cmd
註:有的可能是輸入command,也有可能有的windows不帶DOS系統。

2>鍵入Ping和您要測試的網址(比如:Ping www.viila.net -t)。然後斷行符號,便得到你訪問伺服器的回時間。
一般,“PING”命令會自動進行下去,直到你讓它終止,如敲“ctrl +C”。如果你熟悉使用Telnet中PING的功能,並且你具有在不同網路上的Telnet帳號,你就可以以不同的網路為基礎,對其他的主機(IP地址或網域名稱)進行PING的測試,你可以比較在不同的訪問點這些被訪問主機的回應時間,並得到“丟包率”、平均回應時間等測試結果。

time:顯示了資訊包到達遠程主機後返回的時間。計算定位為毫秒。數值越小速度越快。
lost:丟包情況。
TTL:存留時間 指定資料包被路由器丟棄之前允許通過的網段數量。


一個速度好的機房,首先丟包率不能超過1%,最好是1000個沒有一個丟包,這種是最理想的,但是這個不是絕對值,只要低於1%的都屬於不錯的路由情況了。

其次ping值要小,同城的電信adsl ping平均值絕對不能超過20,一般在10,跨省的adsl ping平均值應該在20-40屬於正常。

第三點是ping值要均勻,如果最小的ping值只有4,但是不時的有幾十,最大有79的出現,這個就是路由不穩定的表現,同樣的電信的adsl,儘管最小也有8,但是最大也只有9,就說明路由穩定。

方法二: 查看同台伺服器上其它網站的開啟速度。
相同IP地址網站查詢網址:http://indexed.linkhelper.cn/sameip.asp
通過上面的查詢工具可以看到和自已在同一台伺服器上的網站個數和網址。可以看看其它網站是否開啟也慢呢。

2 電信和聯通互訪瓶頸問題。

如果空間開啟的速度時快時慢,甚至有時候打不開,那就是空間不穩定的原因。要找你的空間商解決或換空間商了;如果是在有的地方開啟速度快,有的地方開啟速度慢,那應該是網路線路的問題。電信線路使用者訪問放在聯通伺服器的網站,聯通線路使用者訪問放在電信伺服器上的網站,相對來說開啟速度肯定是比較慢。

解決辦法:如果購買空間的話,建議購買雙線空間或多線空間。這已不是新鮮的概念,大部分的虛擬機器主機商都有兩線或多線空間,價格高一些,但是從使用者體驗角度來說是物有所值的。

3 從網站本身找問題,網站的問題包括網站程式設計,網頁設計結構,網頁內容三個部分。
  
網站程式設計
1>網頁中如果有投影片播放效果的代碼,需要審查一下,是否嚴重拖慢網站開啟速度。
2>如果排除各方面原因,可以找搞程式設計的相關專業人士,查看程式的設計結構是否合理。

網頁設計結構

1>如果是table布局的網站,查看是否嵌套次數多太,或是一個大表格然後分成多個表格這樣的網頁布局。解決辦法:建議用div布局,配合css ,這樣不僅開啟速度快,也有利於修改。

2>如果網站中有統計代碼,線上客服或是其它js代碼,看看是否放到了網頁代碼的最後面。解決辦法:最好儘可能的放到網頁代碼最後,當網站代碼載入完畢,才執行這些代碼。


3>可能有錯誤的代碼

一種情況是查看一下網頁代碼是否有不存在的圖片或檔案路徑代碼。(如所示用firebug看到20.jpg這個圖片,紅色顯示表示實際不存在,代碼中有調用它的代碼)因為本身圖片在空間中不存在,可是在執行代碼的時候,執行到這一行時,卻要一直載入這個圖片,在細微程度上是會影響到網站的速度的。
另一種情況是從別的網站轉抄的特效javascript代碼,可能轉載不全,有許多網頁錯誤,造成網站開啟速度慢。解決辦法:修正網站上代碼錯誤。

4>盡量減少javascript的特效的使用。

如:滑鼠特效、欄目特效、狀態列特效等,這些特效的原理是先由伺服器下載到你本地的機器,然後在本地機器上運行產生,如果觀看你網站的網友機器配置低的話,要運行一段時間才能完成。
 
網頁內容

1>查看網頁中是否有許多尺寸大的圖片存在,如果非要圖片效果來表達的話,可以把大圖片切分成多個小圖片。圖片進行減肥處理,可以使位元組數變得較小,否則很多的圖片會佔用很多空間又使網站開啟速度變得很慢。可以用photoshop、fireworks等作圖軟體將圖片尺寸縮小,使圖片的品質稍微降低一下,在圖片品質和圖片大小之間尋找一個最佳的比例。

2>查看網頁中是否有尺寸大的flash檔案存在,排除表達效果外,盡量少用大型flash。

3>有的朋友喜歡在網頁中加音樂,使用者一開啟網站,就有背景音樂播放,這樣的事情盡量不要做。

4>內容中過多地引用了其它網站的內容。如引用其他網站的圖片或其它內容,如果那個網站的速度慢,或者那個網站的頁面已經不存在了,開啟的速度就會更慢。解決辦法:這樣問題常見的情況是,友情連結交換中圖片連結真接連結別的網站的logo圖片,建議先把對方的logo圖片上傳到自已的網站空間中,然後加上連結。第二種情況是許多朋友喜歡用iframe嵌套別的網站上的搜尋,查ip等小功能模組,建議少用這種方式。

查看網站中圖片、代碼等載入情況可以用 firefox瀏覽器的外掛程式工具firebug 工具查看。





最佳化載入速度的方法:

一、最佳化圖片
幾乎沒有哪個網頁上是沒有圖片的。如果你經曆過56K貓的年代,你一定不會很喜歡有大量圖片的網站。因為載入那樣一個網頁會花費大量的時間。
即使在現在,網路頻寬有了很多的提高,56K貓逐漸淡出,最佳化圖片以加快網頁速度還是很有必要的。
最佳化圖片包括減少圖片數、降低映像品質、使用恰當的格式。
1、減少圖片數:去除不必要的圖片。
2、降低映像品質:如果不是很必要,嘗試降低映像的品質,尤其是jpg格式,降低5%的品質看起來變化不是很大,但文大小的變化是比較大的。
3、常識使用指令檔代替效果:
比如一些web2.0的樣式,如果使用ps製作,每個圖片基本會增加%5-%25的大小成本.
相反,使用javascript代碼來實現效果,僅僅只增加幾個位元組.

二、映像格式的選擇
一般在網頁上使用的圖片格式有三種,jpg、png、gif。三種格式的具體技術指標不是這篇文章探討的內容,我們只需要知道在什麼時候應該使用什麼格式,以減少網頁的載入時間。
1、JPG:一般用於展示風景、人物、藝術照的攝影作品。有時也用在電腦截屏上。
2、GIF:提供的顏色較少,可用在一些對顏色要求不高的地方,比如網站logo、按鈕、表情等等。當然,gif的一個重要的應用是動畫圖片。
3、PNG:PNG格式能提供透明背景,是一種專為網頁展示而發明的圖片格式。一般用於需要背景透明顯示或對映像品質要求較高的網頁上。

三、最佳化CSS
CSS疊層樣式表讓網頁載入起來更高效,瀏覽體驗也得到提高。有了CSS,表格版面配置的方式可以退休了。
但有時我們在寫CSS的時候會使用了一些比較羅嗦的語句,比如這句:
複製內容到剪貼簿
代碼:
margin-top: 10px;
margin-right: 20px;
margin-bottom: 10px;
margin-left: 20px;
你可以將它簡化為:
margin: 10px 20px 10px 20px;
又或者這句:
<p class="decorated">A paragraph ofdecorated text</p>
<p class="decorated">Secondparagraph</p>
<p class="decorated">Thirdparagraph</p>
<p class="decorated">Forthparagraph</p>
可以用div來包含:
<div class="decorated">
<p>A paragraph of decoratedtext</p>
<p>Secondparagraph</p>
<p>Thirdparagraph</p>
<p>Forthparagraph</p>
</div>
四、網址後加斜杠

有些網址,比如http://www.viila.net/512當伺服器收到這樣一個地址請求的時候,它需要花費時間去確定這個地址的檔案類型。如果220是一個目錄,不妨在網址後多加一個斜杠,讓其變成http://www.viila.net/512/,這樣伺服器就能一目瞭然地知道要訪問該目錄下的index或default檔案,從而節省了載入時間。

五、標明高度和寬度

這點很重要,但很多人由於懶惰或其它原因,總是將其忽視。當你在網頁上添加圖片或表格時,你應該指定它們的高度和寬度,也就是height和width參數。如果瀏覽器沒有找到這兩個參數,它需要一邊下載圖片一邊計算大小,如果圖片很多,瀏覽器需要不斷地調整頁面。這不但影響速度,也影響瀏覽體驗。

下面是一個比較友好的圖片代碼:
複製內容到剪貼簿
代碼:
<img id="img" height="200" width="450"src="/Article/UploadFiles/200805/20080521125828444.gif"alt="banner" />
當瀏覽器知道了高度和寬度參數後,即使圖片暫時無法顯示,頁面上也會騰出圖片的空位,然後繼續載入後面的內容。從而載入時間快了,瀏覽體驗也更好了

六、減少http請求

當瀏覽者開啟某個網頁,瀏覽器會發出很多個物件請求(映像、指令碼等等),視乎網路延時情況,每個對象載入都會有所延遲。如果網頁上對象很多,這可以需要花費大量的時間。

因此,要為http請求減負。如何減負?

1、去除一些不必要的對象。

2、將臨近的兩張圖片合成一張。

3、合并CSS檔案
看看下面這段代碼,需要載入三個CSS檔案:
<link rel="stylesheet" type="text/css"href="/body.css" />
<link rel="stylesheet" type="text/css"href="/side.css" />
<link rel="stylesheet" type="text/css"href="/footer.css" />
我們可以將其合成一個:
<link rel="stylesheet" type="text/css"href="/style.css" />
從而減少http請求。

七、其它小技巧

1、去除不必要附加元件。
2、如果在網頁上嵌入了其它網站的widget,如果有選擇餘地,一定要選擇速度快的。
3、盡量用圖片代替flash,這對SEO也有好處。
4、有些內容可以靜態化就將其靜態化,以減少伺服器的負擔。
5、統計代碼放在頁尾(或者使用消極式載入)。

網站開啟速度慢的原因,排查方法及最佳化方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.