Ciwiau a JMeter: rhannu gyda'r Cyhoeddwr a'r Tanysgrifiwr
Helo, Habr! Mae hwn yn ddilyniant i fy un i cyhoeddiad blaenorol, lle byddaf yn siarad am opsiynau ar gyfer gosod negeseuon mewn ciwiau gan ddefnyddio JMeter.
Rydym yn gwneud bws data ar gyfer cwmni ffederal mawr. Fformatau cais amrywiol, trawsnewidiadau, llwybro cymhleth. Ar gyfer profi, mae angen i chi anfon llawer o negeseuon i'r ciw. Mae llaw yn boen na all pob ceiropractydd ei drin.
Cyflwyniad
Er bod yn rhaid i mi ddioddef y boen hon ar y dechrau. Dechreuodd y cyfan gyda RFHUtil. Pwerus, ond lletchwith a brawychus: Wel, ti'n nabod Rus.
Anhepgor mewn rhai achosion, ond yn gostwng yn raddol rhag ofn y bydd defnydd gweithredol.
Mae profi cyfleus yn amhosibl ag ef.
Gyda JMeter mae popeth wedi dod yn haws. Ar Γ΄l y cam cyntaf o feistroli a dod i arfer ag ef, dechreuodd gobaith gwawrio ar gyfer profi hapus.
Rwy'n defnyddio samplwyr JMS Publisher a JMS Subscriber. Yn wahanol i JMS Point-to-Point, roedd y pΓ’r hwn yn ymddangos yn fwy cyfleus i'w ddefnyddio. Er enghraifft, gyda Tanysgrifiwr yn JMS Selector gallwch nodi newidyn, ond gyda Point-to-Point ni allwch (neu nid yw'r dull hwn yn amlwg iawn).
Paratoi sampleri
Cyhoeddwr JMS
Gosod - Pob Sampl. Apache yn argymell defnyddiwch yr opsiwn hwn os pennir ciwiau/pynciau trwy newidynnau.
Dod i ben (ms) = 120000. Mewn achos o fethiant, bydd ceisiadau prawf yn diflannu o'r ciw ar Γ΄l 2 funud.
Defnyddio modd dosbarthu nad yw'n gyson? - gwir. IBM yn cymeradwyobod modd parhaus yn sicrhau cadwraeth ddibynadwy o negeseuon a drosglwyddir os bydd methiant sydyn. A chyfnewid cyflymach yn y modd nad yw'n barhaus. At ddibenion profi, mae cyflymder yn bwysicach.
Ym mhob Cyhoeddwr gosodaf briodwedd jms y bydd y Tanysgrifiwr yn ei ddefnyddio yn y Dewisydd JMS. Ar gyfer pob cyflwyniad, cynhyrchir gwerth ar hap yn yr elfen cynllun prawf Paramedrau Defnyddiwr:
Fel hyn gallwch fod yn sicr bod y neges gywir yn cael ei darllen.
Y βgwagβ olaf o Gyhoeddwr JMS wedi'i ffurfweddu ymlaen llaw:
Tanysgrifiwr JMS
Gosod - Pob Sampl. Wel, rydych chi'n deall.
Goramser (ms) = 100000. Os nad yw'r cais yn cyrraedd y ciw ar Γ΄l 100 eiliad o aros, yna aeth rhywbeth o'i le.
Sut i ddelio Γ’'r wyddor Syrilig mewn negeseuon a drosglwyddir. Yn JMeter, yn ddiofyn, ar Γ΄l prawfddarllen, mae'n cael ei arddangos yn gam. Er mwyn osgoi hyn a mwynhau'r gwych a'r pwerus bob amser ac ym mhobman, mae angen i chi:
Ychwanegu dadl JVM at βlansiwrβ JMeter:
-Dfile.encoding=UTF-8
Ychwanegu JSR223 PostProcessor at Danysgrifiwr gyda llinell groovy:
prev.setDataEncoding("UTF-8")
Anfon testun
Yr opsiwn mwyaf diog. Addas ar gyfer dadfygio profion newydd eu hysgrifennu. Neu ar gyfer achosion pan fydd angen i chi anfon o leiaf rhywbeth bach. Dewiswch opsiwn Ffynhonnell y neges - Textarea a gosodwch gorff y neges mewn bloc testun:
Trosglwyddo ffeiliau
Yr opsiwn mwyaf cyffredin. Yn addas ar gyfer y rhan fwyaf o senarios. Dewiswch opsiwn Ffynhonnell y neges - O ffeil a dangos y llwybr i'r neges yn y maes Ffeil - Enw ffeil:
Trosglwyddo ffeil i faes testun
Yr opsiwn mwyaf amlbwrpas. Yn addas ar gyfer y rhan fwyaf o senarios + gellir ei ddefnyddio yn JMS Point-to-Point lle nad oes ail opsiwn anfon:
Pasio arae beit
Yr opsiwn mwyaf anodd. Yn addas ar gyfer gwirio trosglwyddiad anffaeledig ceisiadau i lawr i'r beit, heb afluniad, SMS ac aflonyddwch. Ni fyddwch yn gallu gwneud hyn yn y JMeter rhagosodedig. yma Cefais wybod yn bendant am hyn.
Felly roedd yn rhaid i mi lawrlwytho ffynonellau ac addasu ΠΊΠΎΠ΄ Tanysgrifiwr JMS.
Wedi'i ddisodli yn y dull extractContent(..) llinell:
buffer.append(bytesMessage.getBodyLength() + " bytes received in BytesMessage");
Disgrifiais bedair ffordd o anfon negeseuon i giwiau, yr wyf yn eu defnyddio bob dydd yn ymarferol. Rwy'n gobeithio y bydd y wybodaeth hon yn gwneud eich bywyd yn haws. I barhau, rwy'n bwriadu siarad am fy mhrofiad o brofi cyfnewidfa lle mae ciw ar un pen a chronfa ddata neu system ffeiliau ar y pen arall.