對很多開發(fā)者而言,如果網(wǎng)站的日流量達到百萬級別跃洛,峰值 PV 也突破了 3 萬率触,這樣的站點在線下測試的時候總是讓人心力交瘁。汇竭。葱蝗。。
生產(chǎn)環(huán)境下的性能監(jiān)測問題更是尤其讓人頭疼细燎!
開發(fā)同學在想两曼,運維人員也在想;男人在想玻驻,女人也在想〉看眨現(xiàn)在,值得男女老少一齊關注的問題璧瞬,恐怕也只有「霧霾」了户辫。眾所周知,3M 口罩完美解決了「霧霾」所帶來的一系列安全性能問題嗤锉。那么渔欢,在前端性能監(jiān)控領域,有沒有為專為網(wǎng)站打造的「3M」產(chǎn)品呢瘟忱?
人人都想要「高性能」奥额,可你明白什么是高性能網(wǎng)站嗎苫幢?
什么叫高性能的網(wǎng)站?
現(xiàn)有兩個網(wǎng)站性能架構設計方案:方案 A 和方案 B垫挨。方案 A 在小于100個并發(fā)用戶訪問時态坦,每個請求的響應時間是1秒,當并發(fā)請求達到200的時候棒拂,請求的響應時間將驟增到10秒伞梯。方案 B 不管是100個還是200個并發(fā)訪問,每個請求的響應時間都差不多是1.5秒帚屉。
哪個方案的性能好谜诫?
如果你的老板要求 「我們要改善一下網(wǎng)站的性能」,你知道他指的是什么嗎攻旦?
同類型的兩個網(wǎng)站喻旷,X 網(wǎng)站服務器平均每個請求的處理時間是500毫秒,Y 網(wǎng)站服務器平均每個請求的處理時間是1000毫秒牢屋,為什么用戶卻反映 Y 網(wǎng)站的速度快呢且预?
網(wǎng)站性能是客觀的技術,可以具體反映在響應時間烙无、吞吐量等指標中锋谐;同時也是主觀的感受,而感受則是一種與具體參與者相關的微妙的東西截酷,用戶的感受和工程師的感受不同涮拗,不同的用戶感受也不同。
不同視角下的網(wǎng)站性能
軟件工程師所說的網(wǎng)站性能和用戶說的是不一樣的S乜痢H取!
1.用戶視角下的網(wǎng)站性能
從用戶角度講三幻,網(wǎng)站性能就是用戶在瀏覽器上的直觀感受:網(wǎng)站是快還是慢就漾?
用戶感受到的時間,包括用戶計算機和網(wǎng)站服務器通信的時間念搬、網(wǎng)站服務器處理的時間抑堡、用戶計算機瀏覽器構造請求解析響應數(shù)據(jù)的時間,如下圖所示锁蠕。
計算機性能有差異夷野,瀏覽器解析 HTML 速度有差異懊蒸,網(wǎng)絡運營商提供的互聯(lián)網(wǎng)寬帶服務有差異荣倾,這些差異最終導致用戶感受到的響應延遲可能會遠遠大于網(wǎng)站服務器處理請求需要的時間。
在實踐中骑丸,使用一些前端架構優(yōu)化手段舌仍,通過優(yōu)化頁面 HTML 式樣妒貌、利用瀏覽器端的并發(fā)和異步特性、調(diào)整瀏覽器緩存策略铸豁、使用 CDN 服務灌曙、反向代理等手段,使瀏覽器盡快地顯示用戶感興趣的內(nèi)容节芥、盡可能近地獲取頁面內(nèi)容在刺,即使不優(yōu)化應用程序和架構,也可以很大程度地改善用戶視角下的網(wǎng)站性能头镊。
2.開發(fā)人員視角下的網(wǎng)站性能
開發(fā)人員關注的主要是應用程序本身及其相關子系統(tǒng)的性能蚣驼,包括響應延遲、系統(tǒng)吞吐量相艇、并發(fā)處理能力颖杏、系統(tǒng)穩(wěn)定性等技術指標。主要的優(yōu)化手段有:使用緩存加速數(shù)據(jù)讀取坛芽,使用集群提高吞吐能力留储,使用異步消息加快請求響應及實現(xiàn)削峰,使用代碼優(yōu)化手段改善程序性能咙轩。
3.運維人員視角的網(wǎng)站性能
說的再多最后都要上生產(chǎn)環(huán)境获讳,所以,最直接活喊、最真實 的就是把用戶訪問時的各項指標作為最終的判斷依據(jù)赔嚎。
上生產(chǎn)之后,就該運維人員來發(fā)愁了胧弛。
運維人員更關注基礎設施性能和資源利用率尤误,如網(wǎng)絡運營商的帶寬能力、服務器硬件的配置结缚、數(shù)據(jù)中心網(wǎng)絡架構损晤、服務器和網(wǎng)絡帶寬的資源利用率等。主要優(yōu)化手段有建設優(yōu)化骨干網(wǎng)红竭、使用高性價比定制服務器尤勋、利用虛擬化技術優(yōu)化資源利用等。
現(xiàn)階段茵宪,大多數(shù)的前端工具都比較碎片化最冰,例如 yslow 偏重頁面靜態(tài)分析,fildder 主要做頁面請求分析稀火,而且暖哨,他們還缺少「統(tǒng)計功能」,也就是所謂的「一次性軟件」凰狞。
現(xiàn)在篇裁,Browser Insight 提供了統(tǒng)一的視圖沛慢,全面涵蓋了用戶視角、開發(fā)視角以及運維視角达布。就像 3M 口罩一樣团甲,針對不同的用戶群,都能提供滿足他們需求的產(chǎn)品黍聂,讓開發(fā)者同學不再糾結躺苦。
下面是 Bi 的幾個功能板塊,基本上涵蓋了從研發(fā)产还、測試再到運維 3 位一體的層面圾另。
為什么說 Browser Insight 像「3M口罩」?
- Browser Insight 可以和百萬訪客「直接」接觸雕沉,不用擔心影響用戶集乔;
- Browser Insight 安裝后,服務器和應用程序毫無壓力坡椒,不用擔心帶寬扰路、CPU、內(nèi)存等消耗倔叼;
- Browser Insight 全量數(shù)據(jù)汗唱,實時分析,不會泄露任何信息丈攒,安全自信的做性能監(jiān)測哩罪;
- Browser Insight 以用戶為中心的統(tǒng)計分析,分分鐘定位網(wǎng)站性能瓶頸巡验,讓網(wǎng)站問題如「霧霾」一樣际插,不再干擾你的心情;
目前显设,OneAPM 針對前端性能的優(yōu)化產(chǎn)品框弛,也就是號稱網(wǎng)站「3M 口罩」的 Browser Insight 已經(jīng)免費提供給大家使用了。同時包括針對應用服務器性能優(yōu)化 Application Insight 產(chǎn)品以及針對存儲服務器性能優(yōu)化 Cloud Insight 產(chǎn)品也都提供了免費版產(chǎn)品捕捂,希望能夠幫助開發(fā)者不斷優(yōu)化網(wǎng)站瑟枫,真正意義上構建一個「高性能」的網(wǎng)站!V冈堋慷妙!