Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

Talofa, Habr! O se fa'asologa lea o la'u tala lomiga talu ai, lea o le a ou talanoa ai e uiga i filifiliga mo le tuʻuina o feʻau i laina e faʻaaoga ai le JMeter.

O loʻo matou faia se pasi faʻamatalaga mo se kamupani feterale tele. Feso'ota'iga talosaga eseese, suiga, auala lavelave. Mo le suʻega, e tatau ona e lafoina le tele o feʻau i le laina. O le lima lima o se tiga e le mafai e foma'i uma ona taulimaina.

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

Faatomuaga

E ui ina sa tatau ona ou onosaia lenei tiga i le taimi muamua. Na amata uma ile RFHUtil. Malosi, ae le mautonu ma taufaafefe: Ia, e te iloa Rus.

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

E manaʻomia i nisi tulaga, ae faʻasolosolo faʻaitiitia pe a faʻaaogaina malosi.
E le mafai ona faia su'ega faigofie.

Faatasi ai ma JMeter ua faigofie mea uma. Ina ua maeʻa le laasaga muamua o le atamai ma masani ai, na amata ona tafa mai le faʻamoemoe mo suʻega fiafia.

Ou te fa'aaogaina le JMS Publisher ma le JMS Subscriber samplers. E le pei o le JMS Point-to-Point, o lenei paga na foliga mai e sili atu ona faigofie e faʻaoga. Mo se faʻataʻitaʻiga, faʻatasi ai ma le Subscriber i le JMS Selector e mafai ona e faʻamaonia se fesuiaiga, ae o le Point-to-Point e te le mafai (pe o lenei metotia e le o manino).

Saunia faʻataʻitaʻiga

JMS Lomitusi

  • Seti - Fa'ata'ita'iga Ta'itasi. Apache fautuaina fa'aoga lenei filifiliga pe a fa'amaoti laina/autu e ala i fesuiaiga.
  • Fa'agata (ms) = 120000. I le tulaga o le toilalo, o talosaga su'ega o le a mou atu mai le laina pe a uma le 2 minute.
  • Fa'aaogā le faiga fa'atauva'a e le tumau? - moni. IBM faamaoniao lena faiga faifai pea fa'amautinoa le fa'atuatuaina o le fa'asaoina o fe'au fe'avea'i pe a tupu fa'afuase'i. Ma vave fa'afesuia'i i tulaga le tumau. Mo faʻamoemoega o suʻega, e sili atu le taua o le saoasaoa.

I Lomiga ta'itasi ou te setiina se meatotino jms o le a fa'aogaina e le Fa'asalalau i le JMS Selector. Mo tu'uina atu ta'itasi, e fa'atupuina se tau fa'afuase'i i le vaega ole su'ega ole Fuafuaga ole Tagata Fa'aaoga:

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

O le auala lea e mafai ai ona e mautinoa o loʻo faitau le savali saʻo.

Le "gaogao" mulimuli a le JMS Publisher ua uma ona fa'atulagaina:

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

Tagata fa'asoa a le JMS

  • Seti - Fa'ata'ita'iga Ta'itasi. Ia, ua e malamalama.
  • Taimi (ms) = 100000. Afai e le taunuu le talosaga i le laina pe a maeʻa le 100 sekone o faʻatali, ona iai lea o se mea na tupu.
  • Taofi i le va o fa'ata'ita'iga? - moni.

JMS Selector - faigofie tele mea. Tagata fa'ai'uga a le JMS:

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

Faʻafefea ona taulimaina le alafapeta Cyrillic i feʻau faʻasalalau. I le JMeter, e ala i le faaletonu, pe a uma ona faʻamaonia, o loʻo faʻaalia sese. Ina ia aloese mai lenei mea ma fiafia i le sili ma le mamana i taimi uma ma soo se mea, e te manaʻomia:

  1. Faʻaopoopo se finauga JVM i le JMeter "launcher":
    -Dfile.encoding=UTF-8
  2. Fa'aopoopo le JSR223 PostProcessor i le Subscriber ma le laina fa'afefete:
    prev.setDataEncoding("UTF-8")

Auina atu tusitusiga

Le filifiliga sili ona paie. Talafeagai mo le fa'avasegaina o su'ega fou tusitusia. Po'o mo tulaga e te mana'omia e lafo mai ai sina mea itiiti. Filifili filifiliga Punavai fe'au - Textarea ma tuu le tino o le savali i totonu o se poloka mau:

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

Fa'aliliuina o se faila

Le filifiliga sili ona taatele. E fetaui mo le tele o fa'aaliga. Filifili filifiliga Punavai fe'au - Mai le faila ma faailoa mai le ala i le savali i le fanua faila - Igoa faila:

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

Fa'aliliuina o se faila i se vaega o tusitusiga

O le filifiliga sili ona tele. Talafeagai mo le tele o fa'aaliga + e mafai ona fa'aoga ile JMS Point-to-Point pe a leai se filifiliga lua lafo:

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

Pasia se fa'asologa o byte

Le filifiliga sili ona faigata. E fetaui lelei mo le siakiina o le saʻo saʻo o le tuʻuina atu o talosaga i lalo i le byte, e aunoa ma se faʻalavelave, SMS ma faʻalavelave. O le a le mafai ona e faia lenei mea i le faaletonu JMeter. iinei Na mautinoa lava na taʻu mai ia te aʻu e uiga i lenei mea.

O lea sa tatau ai ona ou sii maia puna'oa ma suia code Tagata fa'asoa a le JMS.

Sui i le auala extractContent(..) laina:

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

luga:

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);
}

ma toe fausia JMeter.

Pau lava le mea o loʻo totoe o le faʻaopoopoina lea o se ulugalii JSR223 Samplers. O le mea muamua o lo'o i luma o le Publisher/Subscriber pair e fatu ai se faila DAT o lo'o i ai ni paita fa'afuase'i:

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");
        }

O le lona lua - i le pito o le tusitusiga, tape le faila:

import java.io.File;

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

Ma 'aua ne'i galo e fa'aopoopo le ala ile faila ile Publisher:

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

Faʻapea foʻi ma se siaki ile JSR223 Assertion for Subscriber - faʻatusatusa le puna puna ma i latou e taunuu i le laina a le tagata e mauaina:

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;
	}

iʻuga

Sa ou faamatalaina auala e fa e lafo ai savali i laina, lea ou te faaaogaina i aso uma i le faatinoga. Ou te faʻamoemoe o lenei faʻamatalaga e faigofie ai lou olaga. I le faʻaauau, ou te fuafua e talanoa e uiga i loʻu poto masani i le suʻeina o se fesuiaiga o loʻo i ai se laina i le tasi pito ma se faʻamaumauga poʻo faila faila i le isi.

Fa'asao lou taimi. Ma faafetai mo lou gauai.

Queues ma JMeter: fefa'asoaa'i ma le Lomiga ma le Tagata Fa'asalalau

puna: www.habr.com

Faaopoopo i ai se faamatalaga