Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

Halò, Habr! Is e seo sreath dhomh fhoillseachadh roimhe, anns am bruidhnidh mi mu roghainnean airson teachdaireachdan a chuir ann an ciudha a’ cleachdadh JMeter.

Tha sinn a’ dèanamh bus dàta airson companaidh mòr feadarail. Diofar chruthan iarrtas, cruth-atharrachaidhean, slighe toinnte. Airson deuchainn, feumaidh tu tòrr teachdaireachdan a chuir chun ciudha. Is e pian a th’ ann le làimh nach urrainn a h-uile ceiropractor a làimhseachadh.

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

Ro-ràdh

Ged a bha agam ri cur suas leis a’ phian seo an toiseach. Thòisich e uile le RFHUtil. Cumhachdach, ach neònach agus eagallach: Uill, tha fios agad air Rus.

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

Tha e riatanach ann an cuid de chùisean, ach a 'crìonadh gu cunbhalach ann an cùis cleachdadh gnìomhach.
Tha e do-dhèanta deuchainn goireasach leis.

Le JMeter tha a h-uile dad air fàs nas fhasa. Às deidh a ’chiad ìre de mhaighstireachd agus fàs cleachdte ris, thòisich dòchas a’ briseadh sìos airson deuchainn sona.

Bidh mi gu gnìomhach a’ cleachdadh samplairean JMS Publisher agus JMS Subscriber. Eu-coltach ri JMS Point-to-Point, bha coltas gu robh am paidhir seo na b’ fhasa a chleachdadh. Mar eisimpleir, le Subscriber ann an JMS Selector faodaidh tu caochladair a shònrachadh, ach le Point-to-Point chan urrainn dhut (no chan eil an dòigh seo gu math follaiseach).

Ag ullachadh samples

Foillsichear JMS

  • Suidheachadh - gach sampall. Apache a ’moladh cleachd an roghainn seo ma tha ciudhaichean/cuspairean air an sònrachadh tro chaochladairean.
  • Crìoch (ms) = 120000. Ma dh’ fhàillig, falbhaidh iarrtasan deuchainn bhon chiudha às deidh 2 mhionaid.
  • Cleachd modh lìbhrigidh neo-sheasmhach? - fìor. IBM ag aontachadhbidh am modh seasmhach sin a’ dèanamh cinnteach à glèidheadh ​​​​earbsach de theachdaireachdan tar-chuir ma thachras fàiligeadh gu h-obann. Agus iomlaid nas luaithe ann am modh neo-sheasmhach. Airson adhbharan deuchainn, tha astar nas cudromaiche.

Anns gach Foillsichear shuidhich mi seilbh jms a chleachdas an Neach-clàraidh anns an JMS Selector. Airson gach tagradh, thèid luach air thuaiream a chruthachadh anns an eileamaid plana deuchainn Parameters Cleachdaiche:

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

San dòigh seo faodaidh tu a bhith cinnteach gu bheil an teachdaireachd cheart air a leughadh.

Am “bàn” mu dheireadh de fhoillsichear JMS ro-shuidhichte:

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

Neach-clàraidh JMS

  • Suidheachadh - gach sampall. Uill, tha thu a’ tuigsinn.
  • Ùine ùine (ms) = 100000. Mura ruig an t-iarrtas an ciudha às deidh 100 diog de bhith a’ feitheamh, chaidh rudeigin ceàrr.
  • Stad eadar samples? - fìor.

JMS Selector - gu math goireasach rud. Neach-clàraidh JMS mu dheireadh:

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

Mar a dhèiligeas tu ris an aibideil Cyrillic ann am brathan a chaidh a ghluasad. Ann an JMeter, gu bunaiteach, às deidh leughadh dearbhaidh, tha e air a thaisbeanadh gu cam. Gus seo a sheachnadh agus tlachd fhaighinn bho na daoine mòra agus cumhachdach an-còmhnaidh agus anns a h-uile àite, feumaidh tu:

  1. Cuir argamaid JVM ri “launcher” JMeter:
    -Dfile.encoding=UTF-8
  2. Cuir JSR223 PostProcessor ris an neach-clàraidh le loidhne groovy:
    prev.setDataEncoding("UTF-8")

Cuir teacsa

An roghainn as leisg. Freagarrach airson debugging deuchainnean ùra sgrìobhte. No airson cùisean nuair a dh'fheumas tu co-dhiù rudeigin beag a chuir. Tagh roghainn Stòr teachdaireachd - Textarea agus cuir corp na teachdaireachd ann am bloc teacsa:

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

faille

An roghainn as cumanta. Freagarrach airson a’ mhòr-chuid de shuidheachaidhean. Tagh roghainn Stòr teachdaireachd - Bho fhaidhle agus comharraich an t-slighe chun teachdaireachd san raon File - Ainm an fhaidhle:

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

A’ gluasad faidhle gu raon teacsa

An roghainn as iom-fhillte. Freagarrach airson a’ mhòr-chuid de shuidheachaidhean + faodar a chleachdadh ann an JMS Point-to-Point far nach eil dàrna roghainn cur:

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

A 'dol seachad air sreath byte

An roghainn as duilghe. Freagarrach airson sgrùdadh a dhèanamh air tar-chur iarrtasan neo-mhearachdach sìos chun bhite, gun saobhadh, SMS agus buaireadh. Chan urrainn dhut seo a dhèanamh san JMeter bunaiteach. an seo Chaidh innse dhomh mu dheidhinn seo gu cinnteach.

Mar sin bha agam ri luchdachadh sìos stòran agus atharraich còd Neach-clàraidh JMS.

Air a chur na àite anns a 'mhodh extractContent(..) loidhne:

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

air:

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

agus dh'ath-thog e JMeter.

Chan eil air fhàgail ach beagan de JSR223 Samplers a chur ris. Tha a’ chiad fhear ron phaidhir Foillsichear/Subscriber gus faidhle DAT a chruthachadh anns a bheil bytes air thuaiream:

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

An dàrna fear - aig deireadh an sgriobt, cuir às don fhaidhle:

import java.io.File;

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

Agus na dìochuimhnich an t-slighe a chuir ris an fhaidhle ann am Foillsichear:

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

Agus cuideachd seic ann an JSR223 Assertion for Subscriber - dèan coimeas eadar na bytes stòr agus an fheadhainn a ruigeas ciudha an neach a gheibh an neach:

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

co-dhùnadh

Thug mi cunntas air ceithir dòighean air teachdaireachdan a chuir gu ciudha, a bhios mi a’ cleachdadh a h-uile latha ann an cleachdadh. Tha mi an dòchas gun dèan am fiosrachadh seo do bheatha nas fhasa. Le bhith a’ leantainn, tha mi an dùil bruidhinn mun eòlas a th’ agam air a bhith a’ dèanamh deuchainn air iomlaid far a bheil ciudha aig aon cheann agus stòr-dàta no siostam faidhle aig a’ cheann eile.

Sàbhail an ùine agad. Agus taing airson d’ aire.

Ciudha agus JMeter: a’ roinneadh le Foillsichear agus Neach-clàraidh

Source: www.habr.com

Cuir beachd ann