發(fā)布時(shí)間:2021-12-29 16:57:54來源:轉(zhuǎn)載
用平均值來衡量響應(yīng)時(shí)間是性能測(cè)試中較常見的誤區(qū)。隨著吞吐量的增大,響應(yīng)時(shí)間會(huì)逐漸變長(zhǎng),當(dāng)達(dá)到較大吞吐量之后,響應(yīng)時(shí)間會(huì)開始加速上升,尤其是排在后面的請(qǐng)求。在這個(gè)時(shí)刻,如果只看平均值,你往往察覺不到問題,因?yàn)榇蟛糠终?qǐng)求的響應(yīng)時(shí)間還是很短的,慢請(qǐng)求只占一個(gè)很小的比例,所以平均值變化不大。但實(shí)際上,可能已經(jīng)有超過1%,甚至5%的請(qǐng)求的響應(yīng)時(shí)間已經(jīng)超出設(shè)計(jì)的范圍了。
更科學(xué)、更合理的指標(biāo)是看TP95或者TP99響應(yīng)時(shí)間。TP是Top Percentile的縮寫,是一個(gè)統(tǒng)計(jì)學(xué)術(shù)語(yǔ),用來描述一組數(shù)值的分布特征。以TP95為例,假設(shè)有100個(gè)數(shù)字,從小到大排序之后,第95個(gè)數(shù)字的值就是這組數(shù)字的TP95值,表示至少有95%的數(shù)字是小于或者等于這個(gè)值。
總共有1000次請(qǐng)求,平均響應(yīng)時(shí)間是58.9ms,TP95是123.85ms(平均響應(yīng)時(shí)間的2.1倍),TP99是997.99ms(平均響應(yīng)時(shí)間的16.9倍)。假設(shè)應(yīng)用設(shè)計(jì)的較大響應(yīng)時(shí)間是100ms,單看平均時(shí)間是完全符合要求的,但實(shí)際上已經(jīng)有超過50個(gè)請(qǐng)求失敗了。如果看TP95或者TP99,問題就很清楚了。
只關(guān)注響應(yīng)時(shí)間和吞吐量,忽視請(qǐng)求成功率
雖說衡量應(yīng)用性能好壞較主要是看響應(yīng)時(shí)間和吞吐量,但這里有個(gè)大前提,所有請(qǐng)求(如果做不到所有,至少也要絕大多數(shù)請(qǐng)求,比如99.9%)都被成功處理了,而不是返回一堆錯(cuò)誤碼。如果不能增加這一點(diǎn),那么再低的響應(yīng)時(shí)間,再高的吞吐量都是沒有意義的。
忘了測(cè)試端也存在性能瓶頸
性能測(cè)試的第三個(gè)誤區(qū)是只關(guān)注服務(wù)端,而忽略了測(cè)試端本身可能也存在限制。比如測(cè)試用例設(shè)置了10000并發(fā)數(shù),但實(shí)際運(yùn)行用例的機(jī)器較大只支持5000并發(fā)數(shù),如果只看服務(wù)端的數(shù)據(jù),你可能會(huì)誤以為服務(wù)端較大就只支持5000并發(fā)數(shù)。如果遇到這種情況,或者換用更高性能的測(cè)試機(jī)器,或者增加測(cè)試機(jī)器的數(shù)量。
如何進(jìn)行性能測(cè)試?
介紹完性能測(cè)試相關(guān)的一些概念之后,再來看一下有哪些工具可以進(jìn)行性能測(cè)試。
JMeter可能是較常用的性能測(cè)試工具。它既支持圖形界面,也支持命令行,屬于黑盒測(cè)試的范疇,對(duì)非開發(fā)人員比較友好,上手也非常容易。圖形界面一般用于編寫、調(diào)試測(cè)試用例,而實(shí)際的性能測(cè)試建議還是在命令行下運(yùn)行。
更多培訓(xùn)課程: 江北區(qū)軟件測(cè)試 更多學(xué)校信息: 重慶江北達(dá)內(nèi)IT教育培訓(xùn) 咨詢電話: