當(dāng)前位置:
常熟做網(wǎng)站制作主頁(yè) >
百創(chuàng)新聞 >
網(wǎng)站制作技巧 > >網(wǎng)站打開(kāi)速度慢如何解決?
說(shuō)實(shí)話,比起網(wǎng)站制作好之后打不開(kāi),網(wǎng)站訪問(wèn)慢更讓人抓狂。
因?yàn)樵斐删W(wǎng)站訪問(wèn)慢的因素太多了,一般用戶根本無(wú)從下手!
但是,西部數(shù)碼的用戶可不是一般的用戶?。?/section>
任他千頭萬(wàn)緒的問(wèn)題,從以下三個(gè)方面入手,
響應(yīng)時(shí)間、執(zhí)行時(shí)間、加載時(shí)間
如下圖所示,在訪問(wèn)過(guò)程中,綠色序號(hào)處最有可能影響訪問(wèn)速度
一、響應(yīng)時(shí)間過(guò)長(zhǎng)
DNS解析緩慢在影響網(wǎng)站訪問(wèn)的因素中,只是小概率事件。相對(duì)來(lái)說(shuō),本地DNS故障比較常見(jiàn)。
排查方法:通過(guò)ping命令ping一個(gè)域名,如果幾秒后未返回是否解析成功記錄,那么就可判定為DNS解析緩慢。如下圖:
解決方法:修改本機(jī)dns或聯(lián)系本地網(wǎng)絡(luò)運(yùn)營(yíng)商(電信、聯(lián)通、移動(dòng))調(diào)整
當(dāng)我們獲取到服務(wù)器IP后,客戶端和服務(wù)器建立連接,這個(gè)鏈接的速度與質(zhì)量取決于線路的優(yōu)劣。最常見(jiàn)的問(wèn)題就是跨線路訪問(wèn),地理位置相差很遠(yuǎn)的訪問(wèn),中繼網(wǎng)絡(luò)異常等。
排查方法:如果ping一個(gè)網(wǎng)址,存在大量丟包或者很高延遲(國(guó)內(nèi)ping延遲超過(guò)50ms),就會(huì)導(dǎo)致訪問(wèn)的連接線路異常。如下圖:
如果網(wǎng)站禁ping了,推薦使用tcping測(cè)試端口(該命令所需軟件需要下載,添加到系統(tǒng)環(huán)境變量中)
解決辦法:可通過(guò)cdn加速,如果是線路短暫的不穩(wěn)定,可等待線路調(diào)整,或嘗試重啟路由光貓,但不一定能能徹底解決。
當(dāng)一個(gè)服務(wù)器健康運(yùn)行,這個(gè)時(shí)間幾乎可忽略,但是如果服務(wù)器不那么健康,比如CPU,內(nèi)存,磁盤IOPS,帶寬,只要一個(gè)達(dá)到瓶頸的服務(wù)器就是亞健康,將直接影響訪問(wèn)速度。
排查方法:如果此前訪問(wèn)很快的網(wǎng)站訪問(wèn)突然變慢了,在網(wǎng)絡(luò)無(wú)問(wèn)題的情況下,云主機(jī)可查看內(nèi)部資源使用情況(推薦使用zabbix等對(duì)各項(xiàng)資源做監(jiān)控);虛擬主機(jī)則可通過(guò)執(zhí)行簡(jiǎn)單命令或直接訪問(wèn)圖片來(lái)判斷服務(wù)器資源占用情況。
解決辦法:對(duì)服務(wù)器資源進(jìn)行升級(jí)
排查難度略大,一旦出現(xiàn)將會(huì)嚴(yán)重影響訪問(wèn)速度。
排查方法:這需要程序員朋友親自上陣調(diào)試了,常見(jiàn)于程序死循環(huán),數(shù)據(jù)庫(kù)死鎖等。
解決辦法:調(diào)試程序,將動(dòng)態(tài)頁(yè)面靜態(tài)化,如果是wordpress程序,可安裝緩存插件,如wp super cache。
雖然大部分程序執(zhí)行慢才是罪魁禍?zhǔn)?,但因?yàn)閿?shù)據(jù)庫(kù)問(wèn)題不常出現(xiàn),并且具有很高的程序特異性,很容易被忽略。
a、檢查程序數(shù)據(jù)庫(kù)連接字符串,最佳的方式是數(shù)據(jù)庫(kù)與主機(jī)使用內(nèi)網(wǎng)ip或者localhost連接,如果是公網(wǎng),請(qǐng)務(wù)必確認(rèn)是同機(jī)房!
b、又要辛苦dba程序員朋友了,mysql建議開(kāi)啟慢日志或者通過(guò)數(shù)據(jù)庫(kù)root帳號(hào)登錄,使用show full processlist;獲取到正在執(zhí)行的查詢語(yǔ)句,對(duì)其進(jìn)行explain分析。
對(duì)于mysql,可通過(guò)建立索引,犧牲部分空間來(lái)?yè)Q取時(shí)間。
對(duì)于sqlserver,可使用自帶的活動(dòng)監(jiān)視器,可查看到cpu使用高以及耗時(shí)高的語(yǔ)句進(jìn)行優(yōu)化(如建立索引)。
另外,從硬件方面著手的話,升級(jí)SSD固態(tài)硬盤能解決該問(wèn)題。
加載時(shí)間慢可以說(shuō)是最明顯、最大程度影響訪問(wèn)速度的因素了。當(dāng)用戶訪問(wèn)一個(gè)網(wǎng)站時(shí)候,服務(wù)器會(huì)向客戶端發(fā)送大量的內(nèi)容,這會(huì)占用大量的服務(wù)器帶寬。帶寬就是最常見(jiàn)也是最直接影響打開(kāi)的因素。
很多朋友可能搞不太清楚帶寬到底怎么算,這里科普一下,小編以一個(gè)10M(兆)帶寬的服務(wù)器為例。帶寬換算成我們平時(shí)最直觀的速率,是有一個(gè)公式的,大約為:(帶寬*1000)÷8
當(dāng)我們?cè)谌我鉃g覽器打開(kāi)網(wǎng)站后,按下鍵盤上的F12按鍵(隆重推薦),會(huì)出來(lái)如下圖的一個(gè) 工具欄,一般在瀏覽器底部。如果這時(shí)切換到“Network”欄,可以勾選“Disable cache”或者按CTRL+F5 刷新頁(yè)面,會(huì)將重新加載整個(gè)網(wǎng)頁(yè),并且不使用緩存。此時(shí)各個(gè)加載項(xiàng)就會(huì)一一展示在下方了
我們可以清晰的看到每個(gè)文件的加載時(shí)間,如果有特別長(zhǎng)時(shí)間加載不出來(lái)的就是有問(wèn)題的。
a、網(wǎng)站中的壞鏈:404地址,會(huì)導(dǎo)致持續(xù)加載不出(會(huì)在資源中以紅色出現(xiàn))
b、外鏈地址:調(diào)用的外部網(wǎng)站地址,加載外鏈很慢導(dǎo)致網(wǎng)站整體加載慢(非常常見(jiàn),一般在time欄時(shí)間長(zhǎng)達(dá)幾秒的),比如一些網(wǎng)站調(diào)用了谷歌的字體,因?yàn)楣雀柙趪?guó)內(nèi)打不開(kāi),導(dǎo)致網(wǎng)站一直加載不出字體。
c、大文件:很多站長(zhǎng)直接將單反原圖放在網(wǎng)站首頁(yè),會(huì)直接導(dǎo)致訪問(wèn)慢。
a、定期檢查網(wǎng)站加載項(xiàng),刪除修復(fù)其中的壞鏈,外鏈建議修改成程序本地調(diào)用,減少加載項(xiàng)數(shù)量(截圖中的requests項(xiàng))
b、壓縮網(wǎng)站首頁(yè)大小,小編推薦首頁(yè)越小越好,一般應(yīng)該控制在3M內(nèi),這樣能同時(shí)間承受更大的訪問(wèn)量,訪問(wèn)速度也更快
c、提升服務(wù)器帶寬(我司虛擬主機(jī)單臺(tái)服務(wù)器帶寬可都是1000M的哦)