1. 程式人生 > >網頁載入慢,你知道幾種原因?

網頁載入慢,你知道幾種原因?


記得以前有個培訓班的老師過來宣傳,他當時問了我們一個問題,“開啟一個網頁慢,你能說出10個原因麼?”,我腦海裡立刻就出現了網速慢、電腦卡等原因,但是發現自己能說出的不超過五個,自己還是學web的,GG。今天突然想到了這個問題,就總結下

  • 頻寬不足,首先想到的就是自己網速的問題,但是一般網速在1M以上的,開啟網頁一般不會是很慢的。網站伺服器的頻寬不夠的話,當大量使用者訪問的時候,網頁的載入也是很慢的,這就是網路的出口端和入口端兩個方面

  • 硬體配置低,本機的配置也會是一方面的,但是隻要不是老賽揚單核+512M的配置,一般不會是電腦配置的問題。伺服器端的配置也是同樣的道理。

  • CPU或者是記憶體被佔滿的時候,開啟網頁很是會很慢的,因為整個電腦都很慢

  • DNS解析慢,域名的解析是需要專門的域名解析伺服器來完成的,DNS解析包括往復解析的次數及每次解析所花費的時間,它們兩者的積即是DNS解析所耗費的總時間,在http請求的過程中,域名解析和建立連線佔的時間很多。

  • JS阻塞請求,寫的js程式碼出現問題,解析就會花費很長時間,這兩個js請求之間會出現一個很大的空隙,就會導致這段時間的資源載入都被阻塞住,

  • 接受資料時間過長,http請求的大部分時間應該花在後面幾個階段,比如等待響應和接收資料。但是,如果接收資料的時間太長了,長到數百毫秒甚至以秒計算的時候,那也是有問題的。這種情況一般是因為下載的內容太重了,例如大圖片、大指令碼等。這類問題可以使用GZIP壓縮、圖片壓縮或者JS/CSS的minify等手段來解決。

  • 載入某個資源太慢,如果某個請求比其他的請求多出很多的時間,那麼一般情況就是某個資源的載入太慢,導致了整個網頁變慢,原因有可能是1)資源在第三方站點上,他們很慢;2)這個資源太大了;3)這個資源使用的域名有問題

  • 後端程式碼問題,主要有程式碼冗餘、資料庫發生鎖死、動態請求時間過長等,這就需要RD優化一切可以優化的東西了

  • 前端頁面請求的資源過多,onload之前如果有幾百行,速度自然會慢的,如果請求的資源不存在,那麼速度將會更慢

  • 網頁本身中包含了追蹤或者是分析使用者的工具,從而導致網頁的載入時間變的慢,比如之前海盜灣中會給使用者的電腦插入挖礦的js指令碼

。。。。