對(duì)很多開發(fā)者而言,如果網(wǎng)站的日流量達(dá)到百萬級(jí)別聘萨,峰值 PV 也突破了 3 萬竹椒,這樣的站點(diǎn)在線下測(cè)試的時(shí)候總是讓人心力交瘁。米辐。胸完。。
生產(chǎn)環(huán)境下的性能監(jiān)測(cè)問題更是尤其讓人頭疼儡循!
開發(fā)同學(xué)在想舶吗,運(yùn)維人員也在想;男人在想择膝,女人也在想∈那恚現(xiàn)在,值得男女老少一齊關(guān)注的問題肴捉,恐怕也只有「霧霾」了腹侣。眾所周知,3M 口罩完美解決了「霧霾」所帶來的一系列安全性能問題齿穗。那么傲隶,在前端性能監(jiān)控領(lǐng)域,有沒有為專為網(wǎng)站打造的「3M」產(chǎn)品呢窃页?
人人都想要「高性能」跺株,可你明白什么是高性能網(wǎng)站嗎?
什么叫高性能的網(wǎng)站脖卖?
現(xiàn)有兩個(gè)網(wǎng)站性能架構(gòu)設(shè)計(jì)方案:方案 A 和方案 B乒省。方案 A 在小于100個(gè)并發(fā)用戶訪問時(shí),每個(gè)請(qǐng)求的響應(yīng)時(shí)間是1秒畦木,當(dāng)并發(fā)請(qǐng)求達(dá)到200的時(shí)候袖扛,請(qǐng)求的響應(yīng)時(shí)間將驟增到10秒。方案 B 不管是100個(gè)還是200個(gè)并發(fā)訪問十籍,每個(gè)請(qǐng)求的響應(yīng)時(shí)間都差不多是1.5秒蛆封。
哪個(gè)方案的性能好?
如果你的老板要求 「我們要改善一下網(wǎng)站的性能」勾栗,你知道他指的是什么嗎惨篱?
同類型的兩個(gè)網(wǎng)站,X 網(wǎng)站服務(wù)器平均每個(gè)請(qǐng)求的處理時(shí)間是500毫秒围俘,Y 網(wǎng)站服務(wù)器平均每個(gè)請(qǐng)求的處理時(shí)間是1000毫秒砸讳,為什么用戶卻反映 Y 網(wǎng)站的速度快呢机断?
網(wǎng)站性能是客觀的技術(shù),可以具體反映在響應(yīng)時(shí)間绣夺、吞吐量等指標(biāo)中吏奸;同時(shí)也是主觀的感受,而感受則是一種與具體參與者相關(guān)的微妙的東西陶耍,用戶的感受和工程師的感受不同奋蔚,不同的用戶感受也不同。
不同視角下的網(wǎng)站性能
軟件工程師所說的網(wǎng)站性能和用戶說的是不一樣的A页2幢!
1.用戶視角下的網(wǎng)站性能
從用戶角度講毯欣,網(wǎng)站性能就是用戶在瀏覽器上的直觀感受:網(wǎng)站是快還是慢馒过?
用戶感受到的時(shí)間,包括用戶計(jì)算機(jī)和網(wǎng)站服務(wù)器通信的時(shí)間酗钞、網(wǎng)站服務(wù)器處理的時(shí)間腹忽、用戶計(jì)算機(jī)瀏覽器構(gòu)造請(qǐng)求解析響應(yīng)數(shù)據(jù)的時(shí)間,如下圖所示砚作。
計(jì)算機(jī)性能有差異窘奏,瀏覽器解析 HTML 速度有差異,網(wǎng)絡(luò)運(yùn)營商提供的互聯(lián)網(wǎng)寬帶服務(wù)有差異葫录,這些差異最終導(dǎo)致用戶感受到的響應(yīng)延遲可能會(huì)遠(yuǎn)遠(yuǎn)大于網(wǎng)站服務(wù)器處理請(qǐng)求需要的時(shí)間着裹。
在實(shí)踐中,使用一些前端架構(gòu)優(yōu)化手段米同,通過優(yōu)化頁面 HTML 式樣骇扇、利用瀏覽器端的并發(fā)和異步特性、調(diào)整瀏覽器緩存策略面粮、使用 CDN 服務(wù)少孝、反向代理等手段,使瀏覽器盡快地顯示用戶感興趣的內(nèi)容但金、盡可能近地獲取頁面內(nèi)容韭山,即使不優(yōu)化應(yīng)用程序和架構(gòu)郁季,也可以很大程度地改善用戶視角下的網(wǎng)站性能冷溃。
2.開發(fā)人員視角下的網(wǎng)站性能
開發(fā)人員關(guān)注的主要是應(yīng)用程序本身及其相關(guān)子系統(tǒng)的性能,包括響應(yīng)延遲梦裂、系統(tǒng)吞吐量似枕、并發(fā)處理能力、系統(tǒng)穩(wěn)定性等技術(shù)指標(biāo)年柠。主要的優(yōu)化手段有:使用緩存加速數(shù)據(jù)讀取凿歼,使用集群提高吞吐能力,使用異步消息加快請(qǐng)求響應(yīng)及實(shí)現(xiàn)削峰,使用代碼優(yōu)化手段改善程序性能答憔。
3.運(yùn)維人員視角的網(wǎng)站性能
說的再多最后都要上生產(chǎn)環(huán)境味赃,所以,最直接虐拓、最真實(shí) 的就是把用戶訪問時(shí)的各項(xiàng)指標(biāo)作為最終的判斷依據(jù)心俗。
上生產(chǎn)之后,就該運(yùn)維人員來發(fā)愁了蓉驹。
運(yùn)維人員更關(guān)注基礎(chǔ)設(shè)施性能和資源利用率城榛,如網(wǎng)絡(luò)運(yùn)營商的帶寬能力、服務(wù)器硬件的配置态兴、數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)狠持、服務(wù)器和網(wǎng)絡(luò)帶寬的資源利用率等。主要優(yōu)化手段有建設(shè)優(yōu)化骨干網(wǎng)瞻润、使用高性價(jià)比定制服務(wù)器喘垂、利用虛擬化技術(shù)優(yōu)化資源利用等。
現(xiàn)階段绍撞,大多數(shù)的前端工具都比較碎片化王污,例如 yslow 偏重頁面靜態(tài)分析,fildder 主要做頁面請(qǐng)求分析楚午,而且昭齐,他們還缺少「統(tǒng)計(jì)功能」,也就是所謂的「一次性軟件」矾柜。
現(xiàn)在阱驾,Browser Insight 提供了統(tǒng)一的視圖,全面涵蓋了用戶視角怪蔑、開發(fā)視角以及運(yùn)維視角里覆。就像 3M 口罩一樣,針對(duì)不同的用戶群,都能提供滿足他們需求的產(chǎn)品,讓開發(fā)者同學(xué)不再糾結(jié)芬沉。
下面是 Bi 的幾個(gè)功能板塊壮吩,基本上涵蓋了從研發(fā)、測(cè)試再到運(yùn)維 3 位一體的層面蚤氏。
為什么說 Browser Insight 像「3M口罩」?
- Browser Insight 可以和百萬訪客「直接」接觸,不用擔(dān)心影響用戶戚扳;
- Browser Insight 安裝后,服務(wù)器和應(yīng)用程序毫無壓力族吻,不用擔(dān)心帶寬帽借、CPU珠增、內(nèi)存等消耗;
- Browser Insight 全量數(shù)據(jù)砍艾,實(shí)時(shí)分析蒂教,不會(huì)泄露任何信息,安全自信的做性能監(jiān)測(cè)脆荷;
- Browser Insight 以用戶為中心的統(tǒng)計(jì)分析悴品,分分鐘定位網(wǎng)站性能瓶頸,讓網(wǎng)站問題如「霧霾」一樣简烘,不再干擾你的心情苔严;
目前,OneAPM 針對(duì)前端性能的優(yōu)化產(chǎn)品孤澎,也就是號(hào)稱網(wǎng)站「3M 口罩」的 Browser Insight 已經(jīng)免費(fèi)提供給大家使用了届氢。同時(shí)包括針對(duì)應(yīng)用服務(wù)器性能優(yōu)化 Application Insight 產(chǎn)品以及針對(duì)存儲(chǔ)服務(wù)器性能優(yōu)化 Cloud Insight 產(chǎn)品也都提供了免費(fèi)版產(chǎn)品,希望能夠幫助開發(fā)者不斷優(yōu)化網(wǎng)站覆旭,真正意義上構(gòu)建一個(gè)「高性能」的網(wǎng)站M俗印!型将!