用戶網(wǎng)站訪問速度慢詳解

一.某個用戶向你反映說你開發(fā)的網(wǎng)站訪問速度很慢,但是該用戶訪問其他問題很正常,分析下原因、有哪些工具分析原因、怎么解決問題?

為新邵等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及新邵網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、新邵網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

(1)可能的原因一:服務(wù)器出口帶寬不夠用。這是一個很常見的瓶頸。一方面,可能是本身購買的服務(wù)器出口帶寬就很?。ㄆ髽I(yè)購買帶寬相當昂貴),一旦用戶訪問量上來了,并發(fā)量大了,自然均分給用戶的出口帶寬就更小了,所以某些用戶的訪問速度就會下降了很多。另一個,就是跨運營商網(wǎng)絡(luò)導(dǎo)致帶寬縮減,例如很多公司的網(wǎng)站(服務(wù)器)是放在電信的網(wǎng)絡(luò)上的,而如果用戶這邊對接的是長城或者說聯(lián)通的寬帶,運營商之間網(wǎng)絡(luò)傳輸在對接時是會有限制的,這就可能導(dǎo)致帶寬的縮減。

(2)可能原因二:服務(wù)器負載過大忙不過來,比如說CPU和內(nèi)存消耗完了,這個容易理解,不展開。

(3)可能原因三:網(wǎng)站的開發(fā)代碼沒寫好,例如MySQL語句沒有進行優(yōu)化,導(dǎo)致數(shù)據(jù)庫的讀寫相當耗費時間。

(4)可能原因四:數(shù)據(jù)庫的瓶頸,也是很常見的一個瓶頸,這點跟上面第三個原因可以一起來說。當我們的數(shù)據(jù)庫變得愈發(fā)龐大,比如好多G好多T這么大,那對于數(shù)據(jù)庫的讀寫就會變得相當緩慢了,索引優(yōu)化固然能提升一些效率,但數(shù)據(jù)庫已經(jīng)如此龐大的話,如果每次查詢都對這么大的數(shù)據(jù)庫進行全局查詢,自然會很慢。這個學(xué)過數(shù)據(jù)庫的話也是挺容易理解的。

二、針對上面可能的原因,有哪些方法和工具去檢測呢:
(1)某個用戶反饋網(wǎng)站訪問變慢,怎么去定位問題。首先你自己也打開下網(wǎng)站,看是否會出現(xiàn)用戶反映的問題,如果你這邊訪問沒問題,那就可能是用戶那邊的問題了,這塊就是要先確定是用戶那一方的問題還是自身比如說服務(wù)器或者網(wǎng)站的問題。

(2)發(fā)現(xiàn)確實是自己服務(wù)器或者網(wǎng)站的問題,那么可以利用瀏覽器的調(diào)試功能(一般瀏覽器都會有),調(diào)試網(wǎng)絡(luò)看看各種數(shù)據(jù)加載的速度,哪一項消耗了多少時間都可以看到,是哪塊數(shù)據(jù)耗時過多,是圖片加載太慢,還是某些數(shù)據(jù)加載老半天都查不出來。

(3)然后針對服務(wù)器的負載情況,可以去查看下服務(wù)器硬件(網(wǎng)絡(luò)帶寬、CPU、內(nèi)存)的消耗狀況。帶寬方面查看流量監(jiān)控看是不是已經(jīng)到了峰值,帶寬不夠用了,如果是公司自己買服務(wù)器搭的網(wǎng)站服務(wù)器的話,需要自己搭建監(jiān)控環(huán)境;如果用的是阿里云騰訊云這些的,那這些平臺那邊會提供各方面的監(jiān)控比如CPU、帶寬等等,在后臺就可以看到了。

(4)如果發(fā)現(xiàn)硬件資源消耗都不高,都比較充裕,那要去看看是不是程序的問題了。這個可以通過查日志來找,比如PHP日志、Apache日志、mysql日志等等的錯誤日志,特別如mysql有個慢查詢的日志功能,可以看到是不是某條mysql語句特別慢,如果某條語句花的時間太長,那這條語句很有可能有問題。

(5)至于說到的數(shù)據(jù)庫太龐大,這個直接看就看得到了,比如一個表的文件大小變得特別大了。

針對上面的這些問題,有哪些解決和優(yōu)化的辦法呢:

(1)出口帶寬的問題,這個很簡單,加帶寬,有錢就多買帶寬,很簡單。

(2)mysql語句優(yōu)化。

(3)數(shù)據(jù)庫太龐大,為了讀寫速度,進行“拆表”、“拆庫”,就是把數(shù)據(jù)表或者數(shù)據(jù)庫進行拆分。

(4)上面的拆庫拆表都是針對數(shù)據(jù)庫實在太龐大才會這樣做,一般在此之前會有其他優(yōu)化方法,比如mysql的主從復(fù)制,一臺主服務(wù)器專門用于寫,然后其他從服務(wù)器用來讀,寫完之后會同步更新到其他讀的服務(wù)器中。例如阿里的雙十一活動,都不知道用了多少萬臺服務(wù)器一起在扛著。

(6)還有這幾年用得比較多的非關(guān)系型數(shù)據(jù)庫,它使用了緩存機制,它把數(shù)據(jù)緩存到了內(nèi)存,用戶訪問數(shù)據(jù)直接從內(nèi)存讀取,讀取速度就比在磁盤中讀取快了很多,還有它的一個key-value讀取機制,這個聽師兄說之后沒聽懂。

(7)cdn(content-delivery-network:內(nèi)容分發(fā)網(wǎng)絡(luò)),雞蛋放在多個籃子里,把數(shù)據(jù)放在離用戶更近的位置(例如網(wǎng)站的一些靜態(tài)文件比如圖片或者js腳本),用戶訪問時判斷IP來源是廣州,那就通過智能DNS解析到廣州的服務(wù)器上,直接從廣州的籃子里去獲取數(shù)據(jù),速度就快了。這里有個靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)的概念,例如圖片和一些js文件一般是不變的,那就可以把它們的映像分布到全國各地,加快速度,而一些需要在網(wǎng)站后臺動態(tài)產(chǎn)生的一些數(shù)據(jù),則需要去到網(wǎng)站所在的服務(wù)器去產(chǎn)生并得到。這個涉及到兩種數(shù)據(jù)的顯示的問題,這就交由瀏覽器處理了。同時異步加載的技術(shù)例如前端的Ajax技術(shù),異步請求數(shù)據(jù),可以使這些動態(tài)數(shù)據(jù)延遲加載,這塊自己不怎么了解,可能表述不好。前端開發(fā)的人員應(yīng)該更懂一些。

(8)上面都沒有說到架構(gòu)的優(yōu)化,如果網(wǎng)站扛不住,是不是網(wǎng)站架構(gòu)已經(jīng)不能適應(yīng)了,比如做個小博客把數(shù)據(jù)庫服務(wù)器和web服務(wù)器都用同一臺服務(wù)器,那所有負載都在同一臺服務(wù)器上了。但是訪問量上來扛不住了,就得加服務(wù)器了,就得在架構(gòu)上優(yōu)化了,比如在數(shù)據(jù)庫上做集群,在web服務(wù)器上也做集群,比如web服務(wù)器集群,在服務(wù)器前面加一個負載均衡,負載均衡就是專門負責(zé)分發(fā),把用戶的請求均勻分布到各個服務(wù)器上。

本文題目:用戶網(wǎng)站訪問速度慢詳解
URL標題:http://bm7419.com/article22/gosgcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航ChatGPT、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名