Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Hello, Habr! Wannan cibiya ce tawa bugu na baya, wanda zan yi magana game da zaɓuɓɓuka don sanya saƙonni a cikin layi ta amfani da JMeter.

Muna yin bas ɗin bayanai don babban kamfani na tarayya. Siffofin buƙatu daban-daban, canje-canje, ƙaƙƙarfan kwatance. Don gwaji, kuna buƙatar aika saƙonni da yawa zuwa jerin gwano. Da hannu ciwo ne wanda ba kowane chiropractor zai iya ɗauka ba.

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Gabatarwar

Ko da yake na haƙura da wannan zafin da farko. Duk ya fara da RFHUtil. Mai iko, amma mai ban tsoro da ban tsoro: To, kun san Rus.

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Babu makawa a wasu lokuta, amma a hankali yana raguwa a yanayin amfani mai aiki.
Gwaji mai dacewa ba zai yiwu ba tare da shi.

Tare da JMeter komai ya zama sauƙi. Bayan matakin farko na ƙwarewa da kuma saba da shi, bege ya fara wayewa don gwaji mai farin ciki.

Ina yin amfani da Mawallafin JMS da Samfuran Masu biyan kuɗi na JMS. Ba kamar JMS Point-to-Point ba, waɗannan biyun sun fi dacewa don amfani. Misali, tare da Mai biyan kuɗi a JMS Selector za ku iya tantance maɓalli, amma tare da Point-to-Point ba za ku iya ba (ko wannan hanyar ba ta fito fili ba).

Ana shirya samfurori

JMS Publisher

  • Saita - Kowane Samfura. Apache bada shawarar Yi amfani da wannan zaɓin idan an ayyana layi/masu magana ta hanyar masu canji.
  • Karewa (ms) = 120000. Idan rashin nasara, buƙatun gwaji za su ɓace daga jerin gwano bayan mintuna 2.
  • Yi amfani da yanayin isarwa mara dawwama? - gaskiya. IBM aminceYanayin dagewa yana tabbatar da amintaccen adana saƙonnin da aka watsa a cikin lamarin gazawar kwatsam. Kuma saurin musanya a yanayin da ba na jurewa ba. Don dalilai na gwaji, saurin ya fi mahimmanci.

A cikin kowane Mawallafi Na saita kadarorin jms wanda Mai biyan kuɗi zai yi amfani da shi a cikin Zaɓin JMS. Ga kowane ƙaddamarwa, ana ƙirƙira ƙima bazuwar a cikin ɓangaren gwajin Ma'aunin Mai amfani:

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Ta wannan hanyar za ku iya tabbatar da cewa an karanta saƙon daidai.

“Ba komai” na ƙarshe na Mai Buga JMS da aka riga aka tsara:

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Farashin JMS

  • Saita - Kowane Samfura. To, kun gane.
  • Tsawon lokaci (ms) = 100000. Idan buƙatar ba ta zo cikin jerin gwano ba bayan 100 seconds na jira, to, wani abu ya ɓace.
  • Tsaya tsakanin samfurori? - gaskiya.

JMS Selector - dace sosai abu. Mai biyan kuɗi na JMS na ƙarshe:

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Yadda ake mu'amala da haruffan Cyrillic a cikin saƙonnin da aka aika. A cikin JMeter, ta tsohuwa, bayan karantawa, ana nuna shi a karkace. Don guje wa wannan kuma ku ji daɗin girma da ƙarfi koyaushe kuma a ko'ina, kuna buƙatar:

  1. Ƙara hujjar JVM zuwa JMeter "mai ƙaddamarwa":
    -Dfile.encoding=UTF-8
  2. Ƙara JSR223 PostProcessor zuwa Mai biyan kuɗi tare da layin tsagi:
    prev.setDataEncoding("UTF-8")

Aika rubutu

Mafi ƙarancin zaɓi. Ya dace da gyara sabbin gwaje-gwajen da aka rubuta. Ko don lokuta lokacin da kuke buƙatar aika aƙalla wani ƙaramin abu. Zaɓi zaɓi Tushen saƙo - Textarea kuma sanya jikin sakon a cikin toshe rubutu:

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Canja wurin fayil

Zaɓin da ya fi kowa. Ya dace da yawancin al'amuran. Zaɓi zaɓi Tushen saƙo - Daga fayil da kuma nuna hanyar zuwa saƙo a cikin filin Fayil - Sunan fayil:

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Canja wurin fayil zuwa filin rubutu

Zaɓin mafi dacewa. Dace da mafi yawan al'amuran + ana iya amfani da su a JMS Point-to-Point inda babu zaɓin aika na biyu:

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Wucewa tsararrun byte

Zaɓin mafi wahala. Ya dace don bincika ingantacciyar ingantacciyar watsa buƙatun ƙasa zuwa byte, ba tare da murdiya ba, SMS da damuwa. Ba za ku iya yin wannan a cikin tsohuwar JMeter ba. a nan Tabbas an gaya mani game da wannan.

Don haka sai na sauke kafofin kuma gyara lambar Farashin JMS.

Maye gurbin a cikin hanyar extractContent(..) layi:

buffer.append(bytesMessage.getBodyLength() + " bytes received in BytesMessage");

a kan:

byte[] bytes = new byte[(int) bytesMessage.getBodyLength()];
bytesMessage.readBytes(bytes);
try {
	buffer.append(new String(bytes, "UTF-8"));
} catch (UnsupportedEncodingException e) {
	throw new RuntimeException(e);
}

da sake gina JMeter.

Abin da ya rage shi ne ƙara wasu ma'aurata na JSR223 Samfuran. Na farko yana gaban Biyu Mai Buga/Masu biyan kuɗi don ƙirƙirar fayil ɗin DAT mai ɗauke da bazuwar bytes:

import org.apache.commons.lang3.RandomUtils;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

vars.put("PATH_TO_BYTES", "C:temprandomBytes.dat");
File RESULT_FILE = new File(vars.get("PATH_TO_BYTES"));
byte[] arr = RandomUtils.nextBytes((int)(Math.random()*10000));
        try {
            FileOutputStream fos = new FileOutputStream(RESULT_FILE);
            fos.write(arr);
            fos.close();
        } catch (IOException e) {
            System.out.println("file not found");
        }

Na biyu - a ƙarshen rubutun, yana share fayil ɗin:

import java.io.File;

File RESULT_FILE = new File(vars.get("PATH_TO_BYTES"));
RESULT_FILE.delete();

Kuma kar a manta da ƙara hanyar zuwa fayil ɗin a cikin Mawallafi:

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

Da kuma duba a cikin JSR223 Assertion don Abokin Rarraba - kwatanta baiti na tushen da waɗanda suka zo cikin jerin gwanon mai karɓa:

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;

Path path = Paths.get(vars.get("PATH_TO_BYTES"), new String[0]);
byte[] originalArray = Files.readAllBytes(path);
byte[] changedArray = ctx.getPreviousResult().getResponseData();
System.out.println(changedArray.length);

if (Arrays.equals(originalArray, changedArray))
	{
     	SampleResult.setResponseMessage("OK");

	} else {
	   SampleResult.setSuccessful(false);
     	   SampleResult.setResponseMessage("Comparison failed");
	   SampleResult.setResponseData("Bytes have changed","UTF-8");
     	   IsSuccess=false;
	}

ƙarshe

Na bayyana hanyoyi guda huɗu don aika saƙonni zuwa jerin gwano, waɗanda nake amfani da su kowace rana a aikace. Ina fatan wannan bayanin ya sauƙaƙa rayuwar ku. A ci gaba, Ina shirin yin magana game da gwaninta na gwada musayar inda akwai layi a ɗayan ƙarshen da kuma bayanan bayanai ko tsarin fayil a ɗayan.

Ajiye lokacinku. Kuma na gode da kulawar ku.

Queues da JMeter: rabawa tare da Mawallafi da Mai biyan kuɗi

source: www.habr.com

Add a comment