完備的網(wǎng)站建設(shè)怎么找百度客服
性能壓測(cè)中我們需要明白以下幾點(diǎn):
1、好的開(kāi)始是成功的一半,前期的準(zhǔn)備非常重要;
2、過(guò)程中,關(guān)注每個(gè)細(xì)節(jié),多個(gè)維度監(jiān)控;
3、在調(diào)優(yōu)中多積累經(jīng)驗(yàn);
4、對(duì)結(jié)果負(fù)責(zé),測(cè)試報(bào)告要清晰易懂,追求數(shù)據(jù)的準(zhǔn)確性。
01
如何分析性能數(shù)據(jù)(測(cè)試結(jié)果)
主要從吞吐量,錯(cuò)誤率,資源監(jiān)控?cái)?shù)據(jù),比如一個(gè)接口的處理能力為100個(gè)/s,高于需求的期望值。
錯(cuò)誤率為0.001%,期望值為0.01%,最高cpu占用率不超70%。以上指標(biāo)都符合期待值,那么通過(guò)提取這些關(guān)鍵數(shù)據(jù)就可以記錄下來(lái),作為測(cè)試的準(zhǔn)出標(biāo)準(zhǔn)。
02
如何快速定位到性能閾值?
eg:每秒處理事務(wù)數(shù)達(dá)到最理想的值,有沒(méi)有什么技巧?
對(duì)于一個(gè)新的壓測(cè)單元,建議先設(shè)置一個(gè)線程數(shù)較小的初始值,逐漸增加線程數(shù)來(lái)觀察事務(wù)的處理能力的變化。直到達(dá)到性能拐點(diǎn)(處理能力下降,響應(yīng)時(shí)間明顯增加)。
03
線程數(shù)是壓的越多越好嗎?壓到多少線程合理?
線程數(shù)受壓力產(chǎn)生機(jī)的CPU和內(nèi)存影響較大,并且Jmeter是基于響應(yīng)原理工作(一個(gè)線程在發(fā)出請(qǐng)求并得到應(yīng)答后才會(huì)繼續(xù)發(fā)出下一個(gè)請(qǐng)求)。
舉個(gè)例子,Jmeter(單臺(tái))不能在服務(wù)器只能處理100個(gè)請(qǐng)求每秒的情況下,提供200QPS的壓力,一般情況下建議不超過(guò)500,默認(rèn)從100線程開(kāi)始施壓,根據(jù)實(shí)際處理能力來(lái)調(diào)整線程數(shù)大小。
04
壓測(cè)持續(xù)時(shí)間長(zhǎng)短有什么區(qū)別?壓測(cè)持續(xù)時(shí)間長(zhǎng),保證效果更接近期望值?設(shè)置壓測(cè)時(shí)間較短時(shí)的目的是什么,為了測(cè)高并發(fā)?
這個(gè)問(wèn)題好比一個(gè)問(wèn)卷調(diào)查,你調(diào)查的范圍越大,取樣更廣泛得出的結(jié)論才更接近平均值(統(tǒng)計(jì)年收入,結(jié)果只統(tǒng)計(jì)了張三跟馬云)。
一般情況下衡量單個(gè)接口的指標(biāo),時(shí)間不需要太長(zhǎng),因?yàn)樯婕按罅康臄?shù)據(jù)讀寫操作,但至少不低于5分鐘。如果能保證長(zhǎng)時(shí)間運(yùn)行穩(wěn)定的情況下,取樣時(shí)間可以相對(duì)減小。
05
平均響應(yīng)時(shí)間為什么越隨著時(shí)間的增長(zhǎng),越來(lái)越長(zhǎng)?除了隊(duì)列阻塞,還有其他原因嗎?
大多數(shù)情況下是服務(wù)端的處理能力下降導(dǎo)致,在較大壓力下,CPU和內(nèi)存資源長(zhǎng)時(shí)間被占用無(wú)法釋放。
06
性能測(cè)試通常需要反復(fù)測(cè)試幾輪才能達(dá)到預(yù)期的結(jié)果,有沒(méi)有硬性標(biāo)準(zhǔn)?
完成變更(優(yōu)化)后計(jì)劃所列出的各項(xiàng)測(cè)試內(nèi)容,測(cè)試結(jié)果穩(wěn)定,數(shù)值無(wú)較大浮動(dòng)(一般適用于最后一輪,已無(wú)優(yōu)化空間)。
07
測(cè)試環(huán)境是否存在網(wǎng)絡(luò)瓶頸如何確認(rèn)?
一般情況下需要壓測(cè)機(jī)和服務(wù)器在同一局域網(wǎng)內(nèi),走內(nèi)網(wǎng)帶寬,如果走外網(wǎng)很容易達(dá)到網(wǎng)絡(luò)瓶頸。
這個(gè)時(shí)候,可以:
-
找運(yùn)維人員或機(jī)器所屬負(fù)責(zé)人進(jìn)行確認(rèn);
-
直接復(fù)制文件傳輸?shù)搅硪慌_(tái)服務(wù)器 查看網(wǎng)速是否達(dá)到內(nèi)網(wǎng)帶寬上限
scp -r -P 端口號(hào) root@123.123.123.123:/root/,如內(nèi)網(wǎng)帶寬為100M時(shí),可傳輸?shù)淖畲缶W(wǎng)速為 12M/s 左右,如傳輸速率只是2M/s以下 可能不在同一網(wǎng)段,一般也滿足不了壓測(cè)傳輸對(duì)網(wǎng)速的要求。
08
我們?cè)趺催x擇性能壓測(cè)工具?
-
Loadrunner
-
商用,支持各種協(xié)議,例如http、tcp、ftp等;
-
支持多種并發(fā)模型,C腳本本身性能較高;
-
臃腫,麻煩。
-
Jmeter
-
開(kāi)源、使用方便;
-
基于Java,可擴(kuò)展,支持模型較單一,本身性能受限于同步等待以及java本身;
-
比較靈活,可以自己編寫符合自己要求的腳本,二次開(kāi)發(fā)更適合我們服務(wù)端測(cè)試。
-
其他
-
Apache bench:工具小巧簡(jiǎn)單,上手學(xué)習(xí)較快;
-
Wrk :性能超級(jí)強(qiáng),某些bench測(cè)試使用;
-
Grinder python等等,還有很多。
具體使用結(jié)合公司項(xiàng)目以及自己的優(yōu)勢(shì)來(lái)選擇,我個(gè)人喜歡用Jmeter。
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,禮尚往來(lái)總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對(duì)于【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬(wàn)個(gè)測(cè)試工程師們走過(guò)最艱難的路程,希望也能幫助到你!有需要的小伙伴可以點(diǎn)擊下方小卡片領(lǐng)取???