Biðraðir og JMeter: deila með útgefanda og áskrifanda
Halló, Habr! Þetta er framhald af mínum fyrri útgáfu, þar sem ég mun tala um valkosti til að setja skilaboð í biðraðir með JMeter.
Við erum að búa til gagnastrætó fyrir stórt sambandsfyrirtæki. Ýmis beiðnisnið, umbreytingar, flókin leið. Til að prófa þarftu að senda mikið af skilaboðum í biðröðina. Handvirkt er sársauki sem ekki sérhver kírópraktor getur séð um.
Inngangur
Þó ég hafi þurft að þola þennan sársauka fyrst. Þetta byrjaði allt með RFHUtil. Öflugur, en óþægilegur og skelfilegur: Jæja, þú þekkir Rus.
Ómissandi í sumum tilfellum, en minnkar jafnt og þétt ef um virka notkun er að ræða.
Þægileg próf er ómögulegt með því.
Með JMeter er allt orðið auðveldara. Eftir fyrsta stig meistaranámsins og að venjast því fór vonin að kvikna um ánægjulegar prófanir.
Ég nota virkan JMS Publisher og JMS Subscriber sýnatökutæki. Ólíkt JMS Point-to-Point, virtist þetta par þægilegra í notkun. Til dæmis, með Subscriber í JMS Selector geturðu tilgreint breytu, en með Point-to-Point geturðu það ekki (eða þessi aðferð er ekki mjög augljós).
Undirbúningur sýnatöku
JMS útgefandi
Uppsetning - Hvert sýnishorn. Apache mælir með notaðu þennan valmöguleika ef biðraðir/efni eru tilgreind með breytum.
Rennur (ms) = 120000. Ef bilun verður, munu prófbeiðnir hverfa úr biðröðinni eftir 2 mínútur.
Nota óviðvarandi sendingarham? - satt. IBM samþykkirþessi viðvarandi háttur tryggir áreiðanlega varðveislu sendra skilaboða ef skyndileg bilun kemur upp. Og hraðari skipti í óviðvarandi ham. Í prófunarskyni er hraði mikilvægari.
Í hverjum útgefanda set ég jms eign sem áskrifandinn mun nota í JMS valinu. Fyrir hverja innsendingu er tilviljunarkennt gildi myndað í prófunaráætlunarhlutanum fyrir notendafæribreytur:
Þannig geturðu verið viss um að rétt skilaboð séu lesin.
Loka „eyða“ forstillts JMS útgefanda:
JMS áskrifandi
Uppsetning - Hvert sýnishorn. Jæja, þú skilur.
Tímamörk (ms) = 100000. Ef beiðnin berst ekki í biðröð eftir 100 sekúndna bið, þá fór eitthvað úrskeiðis.
Hætta á milli sýna? - satt.
JMS Selector - frekar þægilegt hlutur. Lokaáskrifandi JMS:
Hvernig á að takast á við kyrillíska stafrófið í sendum skilaboðum. Í JMeter, sjálfgefið, eftir prófarkalestur, birtist það skakkt. Til að forðast þetta og njóta hins mikla og kraftmikla alltaf og alls staðar þarftu að:
Bættu JVM rökum við JMeter „ræsiforritið“:
-Dfile.encoding=UTF-8
Bættu JSR223 PostProcessor við áskrifanda með grófri línu:
prev.setDataEncoding("UTF-8")
Sendu texta
Latasti kosturinn. Hentar vel til að kemba nýskrifuð próf. Eða fyrir tilvik þegar þú þarft að senda að minnsta kosti eitthvað lítið. Veldu valkost Uppspretta skilaboða - Textarea og settu meginmál skilaboðanna í textablokk:
Skráaflutningur
Algengasta valkosturinn. Hentar fyrir flestar aðstæður. Veldu valkost Uppruni skilaboða - Úr skrá og tilgreinið leiðina að skilaboðunum í reitnum Skrá - Skráarnafn:
Að flytja skrá yfir í textareit
Fjölhæfasti kosturinn. Hentar fyrir flestar aðstæður + er hægt að nota í JMS Point-to-Point þar sem enginn annar sendimöguleiki er til staðar:
Fer framhjá bætafylki
Erfiðasti kosturinn. Hentar til að athuga óskeikulanlega nákvæma sendingu beiðna niður í bæti, án röskunar, SMS og truflana. Þú munt ekki geta gert þetta í sjálfgefna JMeter. hér Mér var örugglega sagt frá þessu.
Svo ég varð að sækja heimildir og breyta kóða JMS áskrifandi.
Skipt út í aðferðinni extractContent(..) lína:
buffer.append(bytesMessage.getBodyLength() + " bytes received in BytesMessage");
Allt sem er eftir er að bæta við nokkrum JSR223 sýnishornum. Sú fyrsta er á undan útgefanda/áskrifanda parinu til að búa til DAT skrá sem inniheldur handahófskennd bæti:
Ég lýsti fjórum leiðum til að senda skilaboð í biðraðir, sem ég nota á hverjum degi í reynd. Ég vona að þessar upplýsingar geri líf þitt auðveldara. Í framhaldinu ætla ég að segja frá reynslu minni af því að prófa skipti þar sem er biðröð í öðrum endanum og gagnagrunnur eða skráarkerfi í hinum.