SOAPUI压力测试的参数配置Word格式文档下载.docx
- 文档编号:17215546
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:10
- 大小:390.43KB
SOAPUI压力测试的参数配置Word格式文档下载.docx
《SOAPUI压力测试的参数配置Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《SOAPUI压力测试的参数配置Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
TheSimpleStrategyisperfectforBaselinetesting.Useittoassertthethebasicperformanceofyourserviceandvalidatethattherearenothreadingorresourcelockingissues.Rampupthenumberofthreadswhenyouwantdomoreelaborateloadtestingorusethestrategyforlong-runningsoaktests.
Sinceitisn'
tmeanttobringyourservicestotheirknees,asetuplikethiscanbeusedforcontinuousload-testingtoensurethatyourserviceperformsasexpectedundermoderateload;
setupabaselinetestwithnorandomizationofthedelay,addLoadTestAssertionsthatactasasafetynetforunexpectedresultsandautomateitsexecutionwiththecommand-lineLoadTestrunnerormavenplugins.
2.
FixedRateStrategy–Simplewithatwist
OnethingthattheSimpleStrategydoesnotdoisguaranteeanumberofexecutionswithinacertaintime,forexampleifyoumightwanttostartyourTestCase10timeseachsecondnomatterhowlongittakestoexecute.UsingtheSimpleStrategyyoucouldsetup10ThreadsandadelaycompensatingfortheaveragegapbetweentheendoftheTestCaseandthestartofthenextsecond,butthiswouldbehighlyunreliableovertime.TheFixed-Ratestrategyshouldbeusedinstead;
settherateasdesired(10inourcase)andoffyougo;
thestrategywillautomaticallystarttherequirednumberthreadsforthissettingattemptingtomaintaintheconfiguredvalue.
Ashintedintheheadline,therearesometwistshere:
whatifourTestCasetakesmorethanonesecondtoexecute?
TomaintaintheconfiguredTPSvalue,thestrategywillinternallystartnewthreadstocompensateforthis;
afterawhileyoumighthavemanymorethan10threadsrunningduetothefactthattheoriginaloneshadnotfinishedwithinthesetrate.Andnotsurprisinglythiscouldcausethetargetservicetogetevenslower,resultinginmoreandmorethreadsbeingstartedto"
keepup"
withtheconfiguredTPSvalue.Asyouprobablyguessedthe"
MaxThreads"
settingishertopreventsoapUIfromoverloading(bothitselfandthetargetservices)
inthissituation,specifyingavalueherewillputalimitonthemaximumnumberofthreadsthesoapUIwillbeallowedtostarttomaintaintheconfiguredTPS,ifreachedtheexistingthreadswillhavetofinishbeforesoapUIwillstartanynewones.
The"
RequestLevel"
settingwillattempttomaintaintheTPSnotontheTestCaseexecutionlevelbutontherequestlevelinstead,forexampleifyouhaveadata-drivenLoadTestoraTestCasewithmanyrequests,youwanttheTPSsettingtoapplynotontheexecutionleveloftheentireTestCasebutontherequestlevel.
Inanycase,theFixedRatestrategyisusefulforbaseline,loadandsoak-testingifyoudon’trunintothe"
ThreadCongestion"
problemdescribedabove.Ontheotherhand,youmightprovokethecongestion(maybeevenincombinationwithanotherLoadTest)toseehowyourserviceshandlethisorhowtheyrecoverafterthecongestionhasbeenhandled.
3.
VariableLoadStrategies
Thereareseveralstrategiesthatcanbeusedtovaryload(thenumberofthreads)overtime,eachsimulatingadifferentkindofbehavior.Theycanbeusefulforrecoveryandstresstesting,butjustaswellforbaselinetesting,eitherontheirownorincombinationwithotherstrategies.Let'
shaveaquicklook:
1.Variancestrategy
–thisvariesthenumberofthreadsovertimeina“sawtooth”manorasconfigured;
settheIntervaltothedesiredvalue
andtheVariancetothehowmuchthenumberofthreadsshoulddecreaseandincrease.Forexampleifwestartwith20threads,setintervalto60andVarianceto0.8,thenumberofthreadswillincreasefrom20to36withinthefirst15seconds,thendecreasebackto20andcontinuedownto4threadsafter45seconds,andfinallygobackuptotheinitialvalueafter60seconds.IntheStatisticsDiagramswecanfollowthisvarianceeasily:
2.BurstStrategy
-
thisstrategyisspecificallydesignedforRecoveryTestingandtakesvariancetoitsextreme;
itdoesnothingfortheconfiguredBurstDelay,thenrunstheconfigurednumberofthreadsforthe“BurstDuration”
andgoesbacktosleep.Hereyoucould(andshould!
)setthenumberofthreadstoahighvalue(20+)tosimulateanonslaughtoftrafficduringashortinterval,thenmeasuretherecoveryofyoursystemwithastandardbase-lineLoadTestcontainingbasicperformance-relatedassertions.Letstrythiswithaburstdelayanddurationof10secondsfor60seconds;
Herecanseetheburstsofactivityinthediagram,pleasealsonotethattheresolutionhasbeenchangedto250ms(fromthedefault"
data"
value),otherwisewenothavehadanydiagramupdatesduringthe"
sleeping"
periodsoftheexecution(sincenodatawouldhavebeencollected).
3.The
ThreadStrategy
letsyoulinearly
changethenumberofthreadsfromoneleveltoanotherovertherunoftheLoadTest.It’smainpurposeisasameanstoidentifyatwhichlevelcertainstatisticschangeoreventsoccur,forexampletofindatwhichThreadCountthemaximumTPSorBPScanbeachievedortofindatwhichThreadCountfunctionaltestingerrorsstartoccurring.
Setthestartandendthreadvalues(forexample5to50)andsetthedurationtoarelativelylongduration(I
useatleast30secondsperthreadvalue,inthisexamplethatwouldbe1350seconds)togetaccuratemeasurements(moreonthisbelow).
4.GridStrategy
–thisstrategyallowstospecificallyconfiguretherelativechangeinnumberofthreadsovertime,itsmainuseforthisismoreadvancedscenarioandrecoverytesting,whereyouneedtoseetheservicesbehaviorundervaryingloadsandloadchanges.Forexampleletssayyouwanttorunfor60secondswith10,20,10,40,10threads.ConfigureyourLoadTesttostartwith10threadsandthenenterthefollowingvaluesintheGrid:
BothvaluesarestoredrelativetothedurationandactualThreadCountoftheLoadTest;
ifyouchangethese,thecorrespondingGridStrategyvalueswillberecalculated.
Runningthetestshowsthefollowingoutput:
5.ScriptStrategy
–thescriptstrategyistheultimatecustomizationpossibility;
thescriptyouspecifyiscalledregularly
(The"
StrategyInterval"
settingintheLoadTestOptionsdialog)andshouldreturnthedesirednumberofthreadsatthatcurrenttime.Returningavalueotherthanthecurrentonewillstartorstopthreadstoadjustforthechange.Thisallowsforanykindofvarianceofthenumberofthreads,forexamplethefollowingscriptrandomizesthenumberofthreadsbetween5and15.
Runningthiswiththestrategyintervalsetto5000thenumberofthreadswillchangeevery5seconds:
Thepossibilitieshereareendless.
4.
StatisticsCalculationandThreadCountChanges
Manyofthesestrategieswillchangethenumberofthreadswhichhasanimportantimpactonthestatisticscalculationthatyouneedtobeawareof;
whenthenumberofthreadschanges,thiswillusuallychangetheresponsetimesofthetargetservices,resultinginachangeinavg,tps,etc.
butsincetheLoadTesthasalreadyrunatapreviousnumberofthreadstheresultsforthoserunswillskewtheresultforthenewThreadCount.
Forexampleletssayyouhavebeenrunningat5threadsandgotandaverageto500ms.UsingtheThreadStrategyyouincreasethenumberofthreadsgradually;
whenrunning6threadstheaverageincreasesto600msbutsincethe“old”valuescollected
for5threadsarestillthere,thesewillintotalresultinaloweraverage.Therearetwoeasywaystoworkaroundthis;
selectthe“ResetStatisticsonThreadCountchange”valueintheLoadTestOptionsdialog,ormanuallyresetthestatisticswiththecorrespondingbuttonintheLoadTesttoolbar;
ineithercaseoldstatisticswillbediscarded.ToseethisinactionletsdoaThreadCountStrategytestfrom10to20threadsover300seconds(30secondsperthread),belowyoucanseeresultsbothwiththissettinguncheckedandthenchecked;
Inthelatteryouseethe“jumps”instatisticseachtimetheyareresetwhenthenumberofthreadschanges,graduallylevelingouttoanewvalue.ThefinalTPScalculatedat20threadsdiffersabout10%betweenthesetwo,showinghowthelowerresults“impact”thehigherones.
5.
RunningMultipleLoadTestsSimultaneously
Ok,letshaveaquicklookatthis;
we'
llcreateonebaselinetestwiththesimplestrategyandalownumberofthreads,andatthesametimerunaburststrategytoseehowthebaselinetestperformance"
recovers"
aftertheburst;
Hereyoucanseethesimplestrategy(bottomdiagram)recoveringgradua
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SOAPUI 压力 测试 参数 配置