接口性能測(cè)試實(shí)戰(zhàn)小結(jié)(附點(diǎn)評(píng))

百度搜索:小強(qiáng)測(cè)試品牌

員工經(jīng)過(guò)長(zhǎng)期磨合與沉淀,具備了協(xié)作精神,得以通過(guò)團(tuán)隊(duì)的力量開(kāi)發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅(jiān)持“專(zhuān)注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩?zhuān)注所以專(zhuān)業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡(jiǎn)單”。公司專(zhuān)注于為企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、電商網(wǎng)站開(kāi)發(fā),微信小程序定制開(kāi)發(fā),軟件按需定制等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。

本文來(lái)自小強(qiáng)測(cè)試品牌學(xué)員作品,歡迎大家多多投稿,也期望各位學(xué)員再接再厲!

背景

有一個(gè)接口http的接口,GetPaymentURL,傳遞參數(shù)很簡(jiǎn)單,就是一個(gè)sessionID(類(lèi)似于訂單號(hào)),這個(gè)接口本身并沒(méi)有什么東西,但是他調(diào)用了另外一個(gè)模塊錢(qián)包的接口,錢(qián)包最終會(huì)返回一個(gè)paymenturl等信息給到GetPayment這個(gè)接口。

一句話,GetPyamentURL只時(shí)負(fù)責(zé)傳遞參數(shù)給到錢(qián)包的接口,主要業(yè)務(wù)邏輯都是在錢(qián)包里面,最終由錢(qián)包把結(jié)果返回給GetPaymentURL ,拿到結(jié)果后再做簡(jiǎn)單的處理,把結(jié)果返回出來(lái)。

小強(qiáng)點(diǎn)評(píng):明白一個(gè)接口的邏輯是非常重要的,實(shí)際中我發(fā)現(xiàn)很多人只關(guān)注技術(shù),卻不關(guān)注業(yè)務(wù)邏輯,導(dǎo)致很多一步可以完成的事情偏偏走了N步,得不償失??!

問(wèn)題

當(dāng)時(shí)遇到一個(gè)情況,調(diào)用getpaymenturl接口有時(shí)非常慢(只是1個(gè)用戶進(jìn)行調(diào)用,100次內(nèi)有27次是20秒以上,最長(zhǎng)的都達(dá)到30秒以上。我這只是單個(gè)用戶進(jìn)行請(qǐng)求啊,怎么能這么慢),但是直接調(diào)用錢(qián)包的接口非???。而且都是在同一網(wǎng)絡(luò)下用一個(gè)用戶分別進(jìn)行測(cè)試100次,都是在我們公司的內(nèi)網(wǎng)發(fā)出請(qǐng)求的請(qǐng)求。

小強(qiáng)點(diǎn)評(píng):我就想說(shuō)棒棒噠,哈哈

分析

首先,因?yàn)橹苯诱{(diào)用錢(qián)包接口,響應(yīng)正常。所以我覺(jué)得問(wèn)題應(yīng)該是在getpaymenturl這里。

我利用LR,把getpaymenturl的結(jié)果分析了一下,發(fā)現(xiàn)buffer time非常長(zhǎng),進(jìn)一步分解,得到server time很慢,net time是正常的。所以我懷疑是不是GetPaymentURL接口本身的server端問(wèn)題,導(dǎo)致慢。但又覺(jué)得說(shuō)不過(guò)去啊,這個(gè)接口只是做了簡(jiǎn)單的傳遞,怎么會(huì)這么慢,不太可能?所以我覺(jué)得還是保留一下網(wǎng)絡(luò)的原因。

接口性能測(cè)試實(shí)戰(zhàn)小結(jié)(附點(diǎn)評(píng))

然后我又想,不對(duì)啊,為什么直接調(diào)用錢(qián)包接口,都正常,說(shuō)明網(wǎng)絡(luò)是正常的。后來(lái)與同事確認(rèn)后,后來(lái)發(fā)現(xiàn)直接調(diào)用錢(qián)包接口走的是公網(wǎng)(開(kāi)發(fā)給我的測(cè)試地址是公網(wǎng)的),而getpaymenturl應(yīng)該走的是專(zhuān)線。雖然最終都是到達(dá)同一臺(tái)服務(wù)器進(jìn)行處理,但是他們走的網(wǎng)絡(luò)節(jié)點(diǎn)是不一樣的。所以現(xiàn)在我更加肯定,網(wǎng)絡(luò)+VPOS都有可能有問(wèn)題。

小強(qiáng)點(diǎn)評(píng):分析邏輯嚴(yán)謹(jǐn),能放能收。抓住網(wǎng)絡(luò)路徑的不同找突破口

這里還有一個(gè)小故事。VPOS一開(kāi)始其實(shí)用的是公網(wǎng)地址,然后我們這邊的一個(gè)同事,配置了一個(gè)什么代理,就是無(wú)論VPOS用什么公網(wǎng)地址,都會(huì)被這個(gè)代理,轉(zhuǎn)一下,最終跳到一個(gè)固定的地址,然后再?gòu)倪@個(gè)地址轉(zhuǎn)出去,再到錢(qián)包。

這樣搞,顯然不行,一是對(duì)于這種涉及到錢(qián)的交易,肯定是走專(zhuān)線地址的。 而是即使走公網(wǎng),為什么還繞了這么大一圈子,通過(guò)配的什么代理,兜一圈再出去。。。

于是立馬,讓同事修改成為指向錢(qián)包的專(zhuān)線地址,重新測(cè)試了一下,結(jié)果一切正常。

雖然結(jié)果有點(diǎn)大跌眼鏡,既不是網(wǎng)絡(luò)原因,也不是VPOS服務(wù)端的原因,而是莫名其妙的被兜了個(gè)大圈子,導(dǎo)致響應(yīng)時(shí)間較慢。

這是最終用單個(gè)用戶請(qǐng)求了200次的結(jié)果:

接口性能測(cè)試實(shí)戰(zhàn)小結(jié)(附點(diǎn)評(píng))

小強(qiáng)點(diǎn)評(píng):為什么性能測(cè)試好玩?就是你會(huì)發(fā)現(xiàn)有時(shí)候你玩他,有時(shí)候他玩你啊,就和大家為啥都愛(ài)看懸疑推理破案片一個(gè)道理,所以耐心、堅(jiān)持、邏輯思維真心很重要。不過(guò)這里我建議用的工具要保證一致性,畢竟每個(gè)工具的統(tǒng)計(jì)原理不一樣,如果換著用會(huì)對(duì)數(shù)據(jù)的比較造成一定的干擾。這里學(xué)員用了jmeter,而上面用的是loadrunner。

總結(jié)

1. 遇到這種接口很慢的情況,無(wú)非就是網(wǎng)絡(luò)+Server端的原因。

2. 對(duì)于這種接口調(diào)接口的情況(某個(gè)接口本身封裝了另外一個(gè)接口),可以進(jìn)一步拆分。比如直接調(diào)用錢(qián)包的接口,看看他是否正常,如果他本身就有問(wèn)題,那肯定是要首先分析錢(qián)包的接口。 如果錢(qián)包接口本身沒(méi)有問(wèn)題,那就要分析是不是getpaymenturl本身接口的問(wèn)題

3. 遇到問(wèn)題,要與相關(guān)人員進(jìn)行確認(rèn)。

小強(qiáng)點(diǎn)評(píng):這里的總結(jié)看起來(lái)短短幾字卻透出了我一直傳達(dá)的一個(gè)信息,那就是分析問(wèn)題要學(xué)會(huì)分層拆分!只有把大的拆成小的我們才能慢慢找到突破口,很多人覺(jué)得分析難不會(huì)分析,本質(zhì)就兩點(diǎn),一點(diǎn)是基礎(chǔ)不夠扎實(shí),二點(diǎn)就是不會(huì)拆分,不知道該怎么一步步拆解。

如果對(duì)你有一丟丟幫助,轉(zhuǎn)發(fā)+點(diǎn)贊=支持

接口性能測(cè)試實(shí)戰(zhàn)小結(jié)(附點(diǎn)評(píng))

分享名稱(chēng):接口性能測(cè)試實(shí)戰(zhàn)小結(jié)(附點(diǎn)評(píng))
標(biāo)題鏈接:http://bm7419.com/article48/jdgchp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、做網(wǎng)站、全網(wǎng)營(yíng)銷(xiāo)推廣、云服務(wù)器、企業(yè)網(wǎng)站制作企業(yè)建站

廣告

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

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)