ProHoster > blog > Utawala > Foleni na JMeter: kushiriki na Mchapishaji na Msajili
Foleni na JMeter: kushiriki na Mchapishaji na Msajili
Habari, Habr! Huu ni mwendelezo wangu uchapishaji uliopita, ambayo nitazungumza juu ya chaguzi za kuweka ujumbe kwenye foleni kwa kutumia JMeter.
Tunatengeneza basi ya data kwa kampuni kubwa ya shirikisho. Miundo mbalimbali ya ombi, mabadiliko, uelekezaji tata. Kwa majaribio, unahitaji kutuma ujumbe mwingi kwenye foleni. Manually ni maumivu ambayo si kila tabibu anaweza kushughulikia.
Utangulizi
Ingawa nililazimika kuvumilia maumivu haya mwanzoni. Yote ilianza na RFHUtil. Nguvu, lakini mbaya na inatisha: Kweli, unajua Rus.
Ni muhimu katika baadhi ya matukio, lakini inapungua kwa kasi katika kesi ya matumizi amilifu.
Upimaji wa urahisi hauwezekani nayo.
Kwa JMeter kila kitu kimekuwa rahisi. Baada ya hatua ya kwanza ya kuimarika na kuizoea, matumaini yalianza kupambazuka kwa majaribio ya furaha.
Ninatumia kikamilifu violezo vya Wachapishaji wa JMS na Wafuatiliaji wa JMS. Tofauti na JMS Point-to-Point, jozi hii ilionekana kuwa rahisi zaidi kutumia. Kwa mfano, na Msajili katika Kiteuzi cha JMS unaweza kutaja tofauti, lakini kwa Point-to-Point huwezi (au njia hii sio dhahiri sana).
Kuandaa sampuli
Mchapishaji wa JMS
Kuweka - Kila Sampuli. Apache inapendekeza tumia chaguo hili ikiwa foleni/mada zimebainishwa kupitia vigeu.
Muda wa matumizi (ms) = 120000. Iwapo itashindikana, maombi ya mtihani yatatoweka kwenye foleni baada ya dakika 2.
Je, ungependa kutumia hali ya uwasilishaji isiyoendelea? - kweli. IBM inakubalihali hiyo inayoendelea inahakikisha uhifadhi wa kuaminika wa ujumbe unaotumwa katika tukio la kushindwa kwa ghafla. Na kubadilishana kwa kasi katika hali isiyoendelea. Kwa madhumuni ya kupima, kasi ni muhimu zaidi.
Katika kila Mchapishaji niliweka mali ya jms ambayo Msajili atatumia kwenye Kiteuzi cha JMS. Kwa kila wasilisho, thamani ya nasibu inatolewa katika kipengele cha mpango wa majaribio ya Vigezo vya Mtumiaji:
Kwa njia hii unaweza kuwa na uhakika kwamba ujumbe sahihi unasomwa.
"tupu" ya mwisho ya Mchapishaji wa JMS aliyesanidiwa mapema:
Msajili wa JMS
Kuweka - Kila Sampuli. Naam, unaelewa.
Muda umeisha (ms) = 100000. Ikiwa ombi halitafika kwenye foleni baada ya sekunde 100 za kusubiri, basi hitilafu fulani imetokea.
Ungependa kuacha kati ya sampuli? - kweli.
Kiteuzi cha JMS - rahisi kabisa jambo. Msajili wa Mwisho wa JMS:
Jinsi ya kushughulika na alfabeti ya Cyrilli katika ujumbe unaopitishwa. Katika JMeter, kwa chaguo-msingi, baada ya kusahihisha, inaonyeshwa kwa upotovu. Ili kuepuka hili na kufurahia makubwa na yenye nguvu daima na kila mahali, unahitaji:
Ongeza hoja ya JVM kwa "kizindua" cha JMeter:
-Dfile.encoding=UTF-8
Ongeza JSR223 PostProcessor kwa Msajili na mstari wa groovy:
prev.setDataEncoding("UTF-8")
Tuma maandishi
Chaguo lazi zaidi. Inafaa kwa utatuzi wa majaribio yaliyoandikwa hivi karibuni. Au kwa kesi wakati unahitaji kutuma angalau kitu kidogo. Chagua chaguo Chanzo cha ujumbe - Textarea na weka mwili wa ujumbe kwenye kizuizi cha maandishi:
Fungua uhamisho
Chaguo la kawaida zaidi. Inafaa kwa matukio mengi. Chagua chaguo Chanzo cha ujumbe - Kutoka kwa faili na uonyeshe njia ya ujumbe kwenye uwanja Faili - Jina la Faili:
Kuhamisha faili kwenye sehemu ya maandishi
Chaguo linalofaa zaidi. Inafaa kwa hali nyingi + inaweza kutumika katika JMS Point-to-Point ambapo hakuna chaguo la pili la kutuma:
Kupitisha safu ya baiti
Chaguo ngumu zaidi. Inafaa kwa kuangalia utumaji sahihi wa maombi hadi kwa kawaida, bila upotoshaji, SMS na usumbufu. Hutaweza kufanya hivi katika JMeter chaguo-msingi. hapa Hakika niliambiwa kuhusu hili.
Kwa hivyo nililazimika kupakua vyanzo na kurekebisha code Msajili wa JMS.
Imebadilishwa katika mbinu extractContent(..) mstari:
buffer.append(bytesMessage.getBodyLength() + " bytes received in BytesMessage");
Nilielezea njia nne za kutuma ujumbe kwenye foleni, ambazo mimi hutumia kila siku katika mazoezi. Natumai habari hii imerahisisha maisha yako. Kwa kuendelea, ninapanga kuzungumza juu ya uzoefu wangu wa kujaribu kubadilishana ambapo kuna foleni upande mmoja na hifadhidata au mfumo wa faili kwa upande mwingine.