国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 電子商務(wù) > 基于云的全鏈路性能測試?yán)砟钆c產(chǎn)品實(shí)踐

基于云的全鏈路性能測試?yán)砟钆c產(chǎn)品實(shí)踐

時(shí)間:2023-01-27 22:08:02 | 來源:電子商務(wù)

時(shí)間:2023-01-27 22:08:02 來源:電子商務(wù)

2016年京東618電商節(jié)已經(jīng)告一段落,從6月1日到18日的大促期間,京東累計(jì)訂單量過億,618當(dāng)天(00:00-24:00)下單量同比增長超過60%。其中,移動(dòng)端下單量占比達(dá)到85%,是去年同期的2.2倍。如何保障大流量下的系統(tǒng)高可用性,成為京東電商平臺(tái)每年一度的“高考”。

由于京東平臺(tái)架構(gòu)的復(fù)雜性,為了保證系統(tǒng)的高可用,在傳統(tǒng)壓力的基礎(chǔ)上,京東全面采用了線上壓測和全流程壓測,以觀察多系統(tǒng)在峰值流量下的相互影響,而這些測試手段都可以歸納為性能測試。性能測試是通過自動(dòng)化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試。通過負(fù)載測試,確定在各種工作負(fù)載下系統(tǒng)的性能,發(fā)現(xiàn)系統(tǒng)負(fù)載增加時(shí),各項(xiàng)性能指標(biāo)的變化情況。壓力測試是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接受的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測試。

為什么要進(jìn)行性能測試呢?

本文開始提到了京東618的例子,設(shè)想一下,如果在618當(dāng)天因?yàn)楸┰龅牧髁繉?dǎo)致系統(tǒng)崩潰,京東的網(wǎng)站、APP無法打開,支付不能正常交易,會(huì)給京東帶來多少損失?

國外調(diào)研機(jī)構(gòu)針對(duì)網(wǎng)站性能做過調(diào)查顯示:響應(yīng)時(shí)間每延遲一秒,客戶轉(zhuǎn)化減少7%,頁面訪問量減少11%,客戶滿意度降低16%。性能除了會(huì)造成收入的損失,還會(huì)嚴(yán)重?fù)p害企業(yè)的品牌,而1個(gè)互聯(lián)網(wǎng)用戶會(huì)用負(fù)面口碑影響17個(gè)其他用戶。

全球電商巨頭亞馬遜每100ms的訪問延遲會(huì)造成1%的銷售損失,而1秒鐘的訪問延遲給亞馬遜帶來每年16億美元的巨額損失。在中國,2015年5月28日攜程旅行網(wǎng)出現(xiàn)長達(dá)7個(gè)小時(shí)的服務(wù)癱瘓,官網(wǎng)和App均無法訪問,造成的直接損失約5000萬元人民幣。性能測試對(duì)業(yè)務(wù)的重要性一目了然。

常見性能測試術(shù)語介紹

要做好性能測試,首先要熟知性能測試的以下概念:

VU 虛擬用戶數(shù):這個(gè)概念相信大家都不陌生,線上環(huán)境里的每一個(gè)操作都是一個(gè)真實(shí)用戶的操作,而在測試環(huán)境不可能找來那么多的測試用戶,就要用程序模擬真實(shí)用戶去跑,這就是虛擬用戶~~

VUM 每分鐘虛擬用戶數(shù):這是一個(gè)負(fù)載參數(shù),一般也會(huì)用來跟計(jì)費(fèi)掛鉤。阿里云的PTS就是按照VUM來收費(fèi)的。也有壓測產(chǎn)品Web Load Testing是按照VUH來計(jì)費(fèi)的,這里的H是小時(shí)的概念。

下面介紹一下云智慧壓測寶兩種曲線模式里計(jì)算VUM的不同算法。

平行模式:如上圖所示,在一段時(shí)間內(nèi)虛擬用戶數(shù)保持不變,VUM=VU*M

坡度模式:顧名思義,坡度模式下虛擬用戶數(shù)隨著時(shí)間的變化而增加或減少。坡度模式的計(jì)算方法比較復(fù)雜,與選擇曲線模式的順序和類型,即整個(gè)壓力曲線的變化方式有關(guān),最簡單的情況下VUM=(VU*M)/2 。

TPS (Transaction Per Second)每秒鐘事務(wù)數(shù):每秒鐘系統(tǒng)能夠處理事務(wù)或交易的數(shù)量,它是衡量系統(tǒng)處理能力的重要指標(biāo)。

QPS(Queries Per Second)每秒鐘請(qǐng)求數(shù):如果一個(gè)腳本共3個(gè)請(qǐng)求,跑完一遍算一個(gè)事務(wù)數(shù)。假如1秒鐘,就跑了一遍這個(gè)腳本,那么TPS=1,QPS=3。

并發(fā)用戶數(shù):多用戶在同一時(shí)刻對(duì)系統(tǒng)執(zhí)行操作,一般指執(zhí)行同一事務(wù)或操作。例如大家輸入完用戶名和密碼后,同時(shí)點(diǎn)擊登錄按鈕,這個(gè)登錄就是一個(gè)并發(fā)操作。如果100個(gè)人同一時(shí)刻點(diǎn)擊登錄,那么我們認(rèn)為此時(shí)并發(fā)數(shù)為100。

在實(shí)際性能測試工作中,測試人員一般比較關(guān)心的是業(yè)務(wù)并發(fā)用戶數(shù),也就是從業(yè)務(wù)的角度關(guān)注應(yīng)該設(shè)置多少個(gè)并發(fā)數(shù)比較合理。以一個(gè)典型的上班簽到系統(tǒng)為例,早上8點(diǎn)上班,7點(diǎn)半到8點(diǎn)的30分鐘的時(shí)間里用戶會(huì)登錄簽到系統(tǒng)進(jìn)行簽到。公司員工為1000人,平均每個(gè)員上登錄簽到系統(tǒng)的時(shí)長為5分鐘,用下面的公式計(jì)算:

C=1000/30*5=166.7

C表示平均并發(fā)用戶數(shù),那么對(duì)這個(gè)簽到系統(tǒng)每分鐘的平均在線用戶數(shù)為166

當(dāng)然,在性能測試上,任何公式都不能完全模擬真實(shí)情況的發(fā)生,最重要的是對(duì)系統(tǒng)做出有效正確的分析。

吐量:單位時(shí)間內(nèi)系統(tǒng)處理的客戶請(qǐng)求數(shù)量。一般用請(qǐng)求數(shù)/秒或者頁面數(shù)/秒來衡量。

響應(yīng)時(shí)間:應(yīng)用系統(tǒng)從客戶端請(qǐng)求發(fā)出開始到客戶端接收到最后一個(gè)字節(jié)數(shù)據(jù)所消耗的時(shí)間。

響應(yīng)時(shí)間=N1+A1+N2+A2+N3+A3+N4

針對(duì)響應(yīng)時(shí)間,業(yè)內(nèi)有“2-5-8原則”的說法,就是當(dāng)用戶能夠在2秒以內(nèi)得到響應(yīng)時(shí),會(huì)感覺系統(tǒng)的響應(yīng)很快;當(dāng)用戶在2-5秒之間得到響應(yīng)時(shí),會(huì)感覺系統(tǒng)的響應(yīng)速度還可以;當(dāng)用戶在5-8秒以內(nèi)得到響應(yīng)時(shí),會(huì)感覺系統(tǒng)的響應(yīng)速度很慢,但是還可以接受;而當(dāng)用戶在超過8秒后仍然無法得到響應(yīng)時(shí)會(huì)感覺系統(tǒng)糟透了,或者認(rèn)為系統(tǒng)已經(jīng)失去響應(yīng),而選擇離開這個(gè)Web網(wǎng)站,或者發(fā)起第二次請(qǐng)求。

對(duì)于API請(qǐng)求,由于沒有頁面的渲染時(shí)間,所以響應(yīng)時(shí)間會(huì)更快,才會(huì)不影響用戶的體驗(yàn)感知。

思考時(shí)間(Think Time):用戶在進(jìn)行操作時(shí),每個(gè)請(qǐng)求之間的間隔時(shí)間。通常在輸入用戶名、登錄密碼或選擇查詢條件等等的操作中是需要有停頓時(shí)間去輸入或選擇的。所以為了更真實(shí)的接近真實(shí)場景,需要加入一些思考時(shí)間。

資源使用率:負(fù)載下的基礎(chǔ)設(shè)施資源使用情況,通常包括CPU占用率(用戶使用率(%User),系統(tǒng)(%System)), 內(nèi)存使用率,磁盤I/O, 網(wǎng)絡(luò)I/O(帶寬的流入和流出),這些參數(shù)通過云智慧透視寶可以實(shí)時(shí)獲得監(jiān)控性能指標(biāo)。

常見性能測試工具

目前市面是比較流行的性能測試工具主要有以下幾種:

a. Load Runner:Load Runner是目前的業(yè)內(nèi)老大,功能比較強(qiáng)大,商品版本需要購買Licence,進(jìn)行性能測試時(shí)可以看到實(shí)時(shí)和已經(jīng)完成的報(bào)告。不過產(chǎn)品配置比較復(fù)雜,新手入門需要花較長時(shí)間。

b. 阿里云的PTS(Performance Test Service):阿里云PTS產(chǎn)品完成度不高,新手幫助很多打不開,驗(yàn)證腳本比較麻煩,在試用時(shí)測試任務(wù)建立后都失敗了。

c. 云智慧壓測寶:壓測寶是基于SAAS的性能測試產(chǎn)品,全鏈路的壓測,簡單易用,上手很快。

d. Soasta的CloudTest:CloudTest功能非常強(qiáng)大,報(bào)告自定義面板很贊!但是國外的產(chǎn)品,雖然支持中文,但兼容不好。

e. Jmeter:上手很簡單,大量并發(fā)時(shí)會(huì)有內(nèi)存溢出問題,Jmeter的報(bào)表較少,對(duì)于要分析測試性能不足作為依據(jù),不過作為簡單的接口測試和少量并發(fā)還是不錯(cuò)的。

壓測寶功能實(shí)戰(zhàn)

傳統(tǒng)的壓力測試通常被稱為溫室環(huán)境的壓力測試。而壓測寶基于云端的全鏈路壓力測試則是真實(shí)環(huán)境壓力測試。通過下表可以對(duì)比一下傳統(tǒng)壓測和云壓測的區(qū)別。

壓測寶的優(yōu)勢有:

? 面向真實(shí)用戶業(yè)務(wù)場景及真實(shí)地域分布的性能測試;

? 基于壓測分析應(yīng)用全鏈路性能瓶頸;

? 集成透視寶應(yīng)用性能管理深入代碼級(jí)問題定位;

? 集成透視寶分析后端的主機(jī)性能指標(biāo);

? 自定義多維度數(shù)據(jù)實(shí)時(shí)分析報(bào)表

除了自身的功能優(yōu)勢,壓測寶還能和云智慧另外兩款產(chǎn)品——監(jiān)控寶和透視寶的深度集成,達(dá)到1+1+1>3的效果:在上線之前由壓測寶發(fā)起壓力,透視寶定位具體的瓶頸[主機(jī),服務(wù),代碼等] ,在上線之后與監(jiān)控寶集成,利用同樣的腳本進(jìn)行線上業(yè)務(wù)的監(jiān)控告警。

壓測寶的壓測步驟非常簡單,可以分三步走:

1.準(zhǔn)備測試腳本和測試數(shù)據(jù)

測試腳本支持6種http請(qǐng)求(post,get,delete,put,option,head),支持http和https協(xié)議。在準(zhǔn)備腳本的時(shí)候,應(yīng)該驗(yàn)證腳本是否正確可用的,然后創(chuàng)建測試任務(wù),不然就可能白白浪費(fèi)測試資源啦~~

壓測寶的腳本驗(yàn)證非常簡單,一步到位就可以看到結(jié)果,而阿里云的PTS需要3步。

如果測試任務(wù)需要使用測試數(shù)據(jù)的話,要在測試腳本中定義這些初始化變量。測試數(shù)據(jù)支持csv和zip的導(dǎo)入,單個(gè)文件大小在60M以內(nèi)。

2.定義測試任務(wù):

一個(gè)測試任務(wù)可以跑不同的腳本,測試腳本可以綁定測試數(shù)據(jù),也可以不綁定測試數(shù)據(jù)。用戶能夠自己設(shè)定腳本的比例。

壓力曲線設(shè)置:壓測寶支持多個(gè)壓力曲線的設(shè)置,建議先使用坡度模式,找到性能拐點(diǎn)后再設(shè)置平行模式。當(dāng)然如果公司的性能要求必須保證500并發(fā),也可以直接選擇500VU 平行,看系統(tǒng)是否支持500VU。

壓測點(diǎn)設(shè)置:壓測寶用戶可以根據(jù)企業(yè)實(shí)際用戶分布選擇最適合自己的壓測點(diǎn)。

3.實(shí)時(shí)數(shù)據(jù)分析

運(yùn)行中的壓測報(bào)告是每隔10s刷新一次,可以實(shí)時(shí)查看TPS,方便客戶的開發(fā)或者運(yùn)維人員第一時(shí)間發(fā)現(xiàn)和定位性能瓶頸。如果出現(xiàn)嚴(yán)重的錯(cuò)誤,如整個(gè)客戶系統(tǒng)癱瘓,可以立刻終止當(dāng)前測試任務(wù),節(jié)省VUM。

概要分析:

地域分析

事務(wù)分析

已經(jīng)完成的任務(wù)同樣會(huì)輸出詳細(xì)的數(shù)據(jù)報(bào)告,用戶可以根據(jù)時(shí)間,腳本,地域等對(duì)結(jié)果進(jìn)行過濾。另外壓測寶還會(huì)有幫助手冊(cè),幫助視頻等幫助新手入門。

關(guān)鍵詞:測試,實(shí)踐,產(chǎn)品,性能

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉