|
|
新聞詳情
網(wǎng)頁打開慢是什么原因,網(wǎng)站網(wǎng)頁打開慢的解決辦法1
發(fā)表時間:2023-02-14 17:55作者:蕪湖網(wǎng)絡(luò)推廣 網(wǎng)頁打開慢有很多原因,首先要排除網(wǎng)速的問題和電腦卡的問題,網(wǎng)速慢導(dǎo)至網(wǎng)頁打開慢,加寬帶提升網(wǎng)速就可以了,電腦卡導(dǎo)至網(wǎng)頁打開慢,重啟電腦或重裝系統(tǒng)就可以解決,這是最基本的,作為一個程序員要從本質(zhì)找原因及解決方法,下我就詳細(xì)的為大家介紹網(wǎng)站打開慢的原因與解決辦法: 1 服務(wù)器出口帶寬不夠用 這是一個很常見的瓶頸。一方面,可能是本身購買的服務(wù)器出口帶寬就很小(企業(yè)購買帶寬相當(dāng)昂貴),一旦用戶訪問量上來了,并發(fā)量大了,自然均分給用戶的出口帶寬就更小了,所以某些用戶的訪問速度就會下降了很多。另一個,就是跨運(yùn)營商網(wǎng)絡(luò)導(dǎo)致帶寬縮減,例如很多公司的網(wǎng)站(服務(wù)器)是放在電信的網(wǎng)絡(luò)上的,而如果用戶這邊對接的是長城或者說聯(lián)通的寬帶,運(yùn)營商之間網(wǎng)絡(luò)傳輸在對接時是會有限制的,這就可能導(dǎo)致帶寬的縮減。 解決:出口帶寬的問題,這個很簡單,加帶寬,有錢就多買帶寬,很簡單。 2 數(shù)據(jù)庫表結(jié)構(gòu)不合理 解決:在創(chuàng)建MySQL數(shù)據(jù)庫表時,把經(jīng)常作為查詢條件的字段設(shè)置為索引,這樣可以提高數(shù)據(jù)的查詢速度,從而提高網(wǎng)站的打開速度。 3 數(shù)據(jù)庫查詢語句不合理 PHP+MySQL動態(tài)網(wǎng)站,經(jīng)常使用數(shù)據(jù)庫select操作。 在使用select操作時,切忌不要輕易使用select * from tablename,因為這樣的查詢速度慢,并會占用較多內(nèi)存,影響PHP程序的整體運(yùn)行速度,進(jìn)而影響網(wǎng)站的打開速度。 解決:建議使用針對特定字段 select查詢語句,例如 select fieldname from tablename。這樣的查詢方式會降低MySQL執(zhí)行時間,提高效率。 4 程序代碼設(shè)計與前端的問題 PHP程序冗余。搭建PHP+MySQL網(wǎng)站時,會發(fā)現(xiàn)有些程序中存在大量冗余,延長了程序執(zhí)行時間。例如重復(fù)的SQL查詢操作,反復(fù)的變量賦值等。 解決:出現(xiàn)這樣的情況時,最好找專業(yè)人士幫你優(yōu)化一下程序,提高程序整體運(yùn)行時間。 5 PHP程序大量讀寫磁盤 PHP+MySQL網(wǎng)站程序會大量執(zhí)行磁盤的讀寫操作,尤其是磁盤的寫操作,將占用大量的磁盤IO,導(dǎo)致程序運(yùn)行緩慢。情況嚴(yán)重的還會使服務(wù)器死機(jī)。 解決:當(dāng)遇到這樣情況時,應(yīng)盡量減少不必要的磁盤寫操作,并且對磁盤進(jìn)行相關(guān)優(yōu)化操作,例如磁盤整理,從而提高磁盤整體運(yùn)行效率。 6 盡量使用靜態(tài)頁面 解決:在使用PHP+MySQL搭建網(wǎng)站時,盡量使用可以生成靜態(tài)頁面的開源程序。 7 網(wǎng)頁上存在大量圖片或flash 網(wǎng)頁上存在大量圖片或flash時,也會影響網(wǎng)站的打開速度。 解決:減少網(wǎng)頁上的圖片或flash,或者優(yōu)化減小圖片的大小,以提高網(wǎng)頁的打開速度。 8 服務(wù)器軟件 解決:盡量避免在VPS或者獨(dú)立服務(wù)器上安裝不必要的軟件,防止服務(wù)器運(yùn)行速度慢,導(dǎo)致網(wǎng)站打開速度慢。 9 網(wǎng)頁上存在大量JS代碼 大量的JS代碼也是引起網(wǎng)站打開速度慢的一個重要原因,尤其是一些不知名的聯(lián)盟廣告代碼,對網(wǎng)站打開速度的影響非常明顯。 10 過多的引用了其他網(wǎng)站內(nèi)容 包括引用其他網(wǎng)站的圖片、視頻文件等,如果直接在頁面引用別的網(wǎng)站的東西,而那個網(wǎng)站打開速度慢,或者那個網(wǎng)站的該頁面已經(jīng)不存在了,那么打開的速度就會非常慢。
11 減少HTTP請求數(shù) 打開一個網(wǎng)頁的時候,后臺程序的響應(yīng)并不所需太多時間,等待的時間主要花費(fèi)在下載網(wǎng)頁元素上了,即HTML、CSS、javascript、Flash、圖片等。據(jù)統(tǒng)計,每增加一個元素,網(wǎng)頁載入的時間就會增加25-40毫秒(具體取決于用戶的帶寬情況)。 所以,想要提高網(wǎng)頁打開速度,可以降低http請求數(shù),這里提供以下3種方法: 1)例如用CSS代碼代替一些圖片(比如圓角圖片),盡可能的減少圖片使用。 2)合并文件,對于文本文件,可以直接合并內(nèi)容。如將多個javascript文件合并成一個,將多個CSS文件合并成一個。 3)優(yōu)化緩存,對于沒有變化的網(wǎng)頁元素(如頁頭、頁尾等),用戶再次訪問的時候沒有必要重新下載,可以直接從瀏覽器緩存里讀取。 12 樣式表放在網(wǎng)頁Head部分 經(jīng)過實際測試,把樣式表(CSS文件)移到網(wǎng)頁的Head部分,可以提高有效頁面的加載速度,讓頁面元素順序顯示。 13 使用CDN(ContentDeliveryNetwork,內(nèi)容分發(fā)網(wǎng)絡(luò)) CDN由一系列分散到各個不同地理位置上的Web服務(wù)器組成,它根據(jù)和用戶在網(wǎng)絡(luò)上的靠近程度來指定某臺服務(wù)器響應(yīng)用戶的請求。當(dāng)你的網(wǎng)站圖片很多時,就一樣要使用CDN了,比如現(xiàn)在的電商網(wǎng)站,幾乎都在使用CDN。很多CSS樣式框架以及js框架都提供了CDN服務(wù),比如bootstrap等等。 14 壓縮網(wǎng)頁元素 顯然,網(wǎng)頁中的元素越小,下載所需的時間就越少。現(xiàn)在比較成熟和流程的壓縮網(wǎng)頁的方式是通過Gzip壓縮,一般可以將網(wǎng)頁文本內(nèi)容減少60%以上。 15 把JS文件放到網(wǎng)頁底部 網(wǎng)頁打開時,所有元素是順序顯示的。但是由于JS具有特殊性,相對其他元素而言,會加載的較慢,在JS文件下載完成之前,其他后面元素的順序顯示將被阻塞,因此把JS文件盡量放在底部,意味著內(nèi)容能被快速顯示。 16 把樣式表和JS腳本放到外部文件中 雖然我們可以將樣式表和JS腳本直接寫入網(wǎng)頁HTML中,能夠減少外部文件調(diào)用數(shù)量,但是這樣做會增加頁面的文件大小。將樣式表和JS腳本放到外部文件中,用戶首次訪問時也許會有點(diǎn)慢,但是后續(xù)在訪問網(wǎng)站時,用戶直接通過瀏覽器緩存就可以用,從而達(dá)到減少HTTP請求數(shù)的目的,為最優(yōu)的做法。 |