ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ಹಲೋ, ಹಬ್ರ್! ಇದು ನನ್ನ ಮುಂದುವರಿದ ಭಾಗ ಹಿಂದಿನ ಪ್ರಕಟಣೆ, ಇದರಲ್ಲಿ ನಾನು JMeter ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸರದಿಯಲ್ಲಿ ಸಂದೇಶಗಳನ್ನು ಇರಿಸುವ ಆಯ್ಕೆಗಳ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತೇನೆ.

ನಾವು ದೊಡ್ಡ ಫೆಡರಲ್ ಕಂಪನಿಗೆ ಡೇಟಾ ಬಸ್ ಅನ್ನು ತಯಾರಿಸುತ್ತಿದ್ದೇವೆ. ವಿವಿಧ ವಿನಂತಿ ಸ್ವರೂಪಗಳು, ರೂಪಾಂತರಗಳು, ಸಂಕೀರ್ಣವಾದ ರೂಟಿಂಗ್. ಪರೀಕ್ಷೆಗಾಗಿ, ನೀವು ಸರದಿಯಲ್ಲಿ ಬಹಳಷ್ಟು ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಬೇಕಾಗುತ್ತದೆ. ಹಸ್ತಚಾಲಿತವಾಗಿ ನೋವು ಪ್ರತಿ ಕೈಯರ್ಪ್ರ್ಯಾಕ್ಟರ್ ನಿಭಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ಪರಿಚಯ

ಮೊದಮೊದಲು ಈ ನೋವನ್ನು ಸಹಿಸಬೇಕಾಗಿ ಬಂದರೂ. ಇದು ಎಲ್ಲಾ RFHUtil ಆರಂಭವಾಯಿತು. ಶಕ್ತಿಯುತ, ಆದರೆ ವಿಚಿತ್ರವಾದ ಮತ್ತು ಭಯಾನಕ: ಸರಿ, ನಿಮಗೆ ರುಸ್ ತಿಳಿದಿದೆ.

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಅನಿವಾರ್ಯ, ಆದರೆ ಸಕ್ರಿಯ ಬಳಕೆಯ ಸಂದರ್ಭದಲ್ಲಿ ಸ್ಥಿರವಾಗಿ ಕ್ಷೀಣಿಸುತ್ತಿದೆ.
ಅದರೊಂದಿಗೆ ಅನುಕೂಲಕರ ಪರೀಕ್ಷೆ ಅಸಾಧ್ಯ.

ಜೆಮೀಟರ್‌ನೊಂದಿಗೆ ಎಲ್ಲವೂ ಸುಲಭವಾಗಿದೆ. ಮಾಸ್ಟರಿಂಗ್ ಮತ್ತು ಅಭ್ಯಾಸದ ಮೊದಲ ಹಂತದ ನಂತರ, ಸಂತೋಷದ ಪರೀಕ್ಷೆಗಾಗಿ ಭರವಸೆ ಮೂಡಲು ಪ್ರಾರಂಭಿಸಿತು.

ನಾನು JMS ಪ್ರಕಾಶಕರು ಮತ್ತು JMS ಚಂದಾದಾರರ ಮಾದರಿಗಳನ್ನು ಸಕ್ರಿಯವಾಗಿ ಬಳಸುತ್ತೇನೆ. JMS ಪಾಯಿಂಟ್-ಟು-ಪಾಯಿಂಟ್‌ಗಿಂತ ಭಿನ್ನವಾಗಿ, ಈ ಜೋಡಿಯನ್ನು ಬಳಸಲು ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, JMS ಸೆಲೆಕ್ಟರ್‌ನಲ್ಲಿ ಚಂದಾದಾರರೊಂದಿಗೆ ನೀವು ವೇರಿಯಬಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು, ಆದರೆ ಪಾಯಿಂಟ್-ಟು-ಪಾಯಿಂಟ್‌ನೊಂದಿಗೆ ನಿಮಗೆ ಸಾಧ್ಯವಿಲ್ಲ (ಅಥವಾ ಈ ವಿಧಾನವು ತುಂಬಾ ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ).

ಮಾದರಿಗಳನ್ನು ಸಿದ್ಧಪಡಿಸುವುದು

JMS ಪ್ರಕಾಶಕರು

  • ಸೆಟಪ್ - ಪ್ರತಿ ಮಾದರಿ. ಅಪಾಚೆ ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ ಸರದಿಗಳು/ವಿಷಯಗಳನ್ನು ಅಸ್ಥಿರಗಳ ಮೂಲಕ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸಿ.
  • ಮುಕ್ತಾಯ (ಮಿಸೆ) = 120000. ವೈಫಲ್ಯದ ಸಂದರ್ಭದಲ್ಲಿ, ಪರೀಕ್ಷಾ ವಿನಂತಿಗಳು 2 ನಿಮಿಷಗಳ ನಂತರ ಸರದಿಯಿಂದ ಕಣ್ಮರೆಯಾಗುತ್ತವೆ.
  • ನಿರಂತರವಲ್ಲದ ಡೆಲಿವರಿ ಮೋಡ್ ಅನ್ನು ಬಳಸುವುದೇ? - ನಿಜ. IBM ಅನುಮೋದಿಸುತ್ತದೆಹಠಾತ್ ವೈಫಲ್ಯದ ಸಂದರ್ಭದಲ್ಲಿ ರವಾನೆಯಾಗುವ ಸಂದೇಶಗಳ ವಿಶ್ವಾಸಾರ್ಹ ಸಂರಕ್ಷಣೆಯನ್ನು ನಿರಂತರ ಮೋಡ್ ಖಚಿತಪಡಿಸುತ್ತದೆ. ಮತ್ತು ನಿರಂತರವಲ್ಲದ ಮೋಡ್‌ನಲ್ಲಿ ವೇಗವಾಗಿ ವಿನಿಮಯ. ಪರೀಕ್ಷಾ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ವೇಗವು ಹೆಚ್ಚು ಮುಖ್ಯವಾಗಿದೆ.

ಪ್ರತಿ ಪ್ರಕಾಶಕರಲ್ಲಿ ನಾನು JMS ಆಸ್ತಿಯನ್ನು ಹೊಂದಿಸಿದ್ದೇನೆ ಅದನ್ನು ಚಂದಾದಾರರು JMS ಸೆಲೆಕ್ಟರ್‌ನಲ್ಲಿ ಬಳಸುತ್ತಾರೆ. ಪ್ರತಿ ಸಲ್ಲಿಕೆಗೆ, ಬಳಕೆದಾರರ ನಿಯತಾಂಕಗಳ ಪರೀಕ್ಷಾ ಯೋಜನೆ ಅಂಶದಲ್ಲಿ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ರಚಿಸಲಾಗಿದೆ:

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ಈ ರೀತಿಯಾಗಿ ಸರಿಯಾದ ಸಂದೇಶವನ್ನು ಓದಲಾಗಿದೆ ಎಂದು ನೀವು ಖಚಿತವಾಗಿ ಮಾಡಬಹುದು.

ಪೂರ್ವ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ JMS ಪ್ರಕಾಶಕರ ಅಂತಿಮ "ಖಾಲಿ":

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

JMS ಚಂದಾದಾರ

  • ಸೆಟಪ್ - ಪ್ರತಿ ಮಾದರಿ. ಸರಿ, ನೀವು ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದೀರಿ.
  • ಸಮಯ ಮೀರಿದೆ (ಮಿಸೆ) = 100000. 100 ಸೆಕೆಂಡುಗಳ ಕಾಯುವಿಕೆಯ ನಂತರ ವಿನಂತಿಯು ಸರದಿಯಲ್ಲಿ ಬರದಿದ್ದರೆ, ಏನೋ ತಪ್ಪಾಗಿದೆ.
  • ಮಾದರಿಗಳ ನಡುವೆ ನಿಲ್ಲಿಸುವುದೇ? - ನಿಜ.

JMS ಸೆಲೆಕ್ಟರ್ - ಸಾಕಷ್ಟು ಅನುಕೂಲಕರ ವಿಷಯ. ಅಂತಿಮ JMS ಚಂದಾದಾರರು:

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ರವಾನೆಯಾದ ಸಂದೇಶಗಳಲ್ಲಿ ಸಿರಿಲಿಕ್ ವರ್ಣಮಾಲೆಯೊಂದಿಗೆ ಹೇಗೆ ವ್ಯವಹರಿಸುವುದು. JMeter ನಲ್ಲಿ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಪ್ರೂಫ್ ರೀಡಿಂಗ್ ನಂತರ, ಅದನ್ನು ವಕ್ರವಾಗಿ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ. ಇದನ್ನು ತಪ್ಪಿಸಲು ಮತ್ತು ಯಾವಾಗಲೂ ಮತ್ತು ಎಲ್ಲೆಡೆ ಶ್ರೇಷ್ಠ ಮತ್ತು ಶಕ್ತಿಯುತವಾದದ್ದನ್ನು ಆನಂದಿಸಲು, ನೀವು ಹೀಗೆ ಮಾಡಬೇಕಾಗಿದೆ:

  1. JMeter "ಲಾಂಚರ್" ಗೆ JVM ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ:
    -Dfile.encoding=UTF-8
  2. ಗ್ರೂವಿ ಲೈನ್‌ನೊಂದಿಗೆ ಚಂದಾದಾರರಿಗೆ JSR223 ಪೋಸ್ಟ್‌ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಸೇರಿಸಿ:
    prev.setDataEncoding("UTF-8")

ಪಠ್ಯವನ್ನು ಕಳುಹಿಸಿ

ಸೋಮಾರಿಯಾದ ಆಯ್ಕೆ. ಹೊಸದಾಗಿ ಬರೆದ ಪರೀಕ್ಷೆಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಸೂಕ್ತವಾಗಿದೆ. ಅಥವಾ ನೀವು ಕನಿಷ್ಟ ಏನಾದರೂ ಸಣ್ಣದನ್ನು ಕಳುಹಿಸಬೇಕಾದ ಸಂದರ್ಭಗಳಲ್ಲಿ. ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ ಸಂದೇಶ ಮೂಲ - Textarea ಮತ್ತು ಸಂದೇಶದ ದೇಹವನ್ನು ಪಠ್ಯ ಬ್ಲಾಕ್‌ನಲ್ಲಿ ಇರಿಸಿ:

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ಫೈಲ್ ವರ್ಗಾವಣೆ

ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಆಯ್ಕೆ. ಹೆಚ್ಚಿನ ಸನ್ನಿವೇಶಗಳಿಗೆ ಸೂಕ್ತವಾಗಿದೆ. ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ ಸಂದೇಶದ ಮೂಲ - ಫೈಲ್‌ನಿಂದ ಮತ್ತು ಕ್ಷೇತ್ರದಲ್ಲಿ ಸಂದೇಶದ ಮಾರ್ಗವನ್ನು ಸೂಚಿಸಿ ಫೈಲ್ - ಫೈಲ್ ಹೆಸರು:

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ಪಠ್ಯ ಕ್ಷೇತ್ರಕ್ಕೆ ಫೈಲ್ ಅನ್ನು ವರ್ಗಾಯಿಸುವುದು

ಅತ್ಯಂತ ಬಹುಮುಖ ಆಯ್ಕೆ. ಹೆಚ್ಚಿನ ಸನ್ನಿವೇಶಗಳಿಗೆ ಸೂಕ್ತವಾಗಿದೆ + ಅನ್ನು JMS ಪಾಯಿಂಟ್-ಟು-ಪಾಯಿಂಟ್‌ನಲ್ಲಿ ಬಳಸಬಹುದು, ಅಲ್ಲಿ ಎರಡನೇ ಕಳುಹಿಸುವ ಆಯ್ಕೆ ಇಲ್ಲ:

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ಬೈಟ್ ಶ್ರೇಣಿಯನ್ನು ಹಾದುಹೋಗುತ್ತಿದೆ

ಅತ್ಯಂತ ಕಷ್ಟಕರವಾದ ಆಯ್ಕೆ. ಅಸ್ಪಷ್ಟತೆ, SMS ಮತ್ತು ಪ್ರಕ್ಷುಬ್ಧತೆ ಇಲ್ಲದೆ ಬೈಟ್‌ಗೆ ವಿನಂತಿಗಳ ದೋಷರಹಿತವಾಗಿ ನಿಖರವಾದ ಪ್ರಸರಣವನ್ನು ಪರಿಶೀಲಿಸಲು ಸೂಕ್ತವಾಗಿದೆ. ಡೀಫಾಲ್ಟ್ JMeter ನಲ್ಲಿ ಇದನ್ನು ಮಾಡಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಇಲ್ಲಿ ಈ ಬಗ್ಗೆ ನನಗೆ ಖಚಿತವಾಗಿ ಹೇಳಲಾಗಿದೆ.

ಹಾಗಾಗಿ ನಾನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬೇಕಾಗಿತ್ತು ಮೂಲಗಳು ಮತ್ತು ಮಾರ್ಪಡಿಸಿ ಕೋಡ್ JMS ಚಂದಾದಾರ.

ವಿಧಾನದಲ್ಲಿ ಬದಲಾಯಿಸಲಾಗಿದೆ extractContent(..) ಸಾಲು:

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

ಆನ್:

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

ಮತ್ತು ಜೆಮೀಟರ್ ಅನ್ನು ಮರುನಿರ್ಮಿಸಲಾಯಿತು.

ಒಂದೆರಡು JSR223 ಮಾದರಿಗಳನ್ನು ಸೇರಿಸುವುದು ಮಾತ್ರ ಉಳಿದಿದೆ. ಮೊದಲನೆಯದು ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳನ್ನು ಹೊಂದಿರುವ DAT ಫೈಲ್ ಅನ್ನು ರಚಿಸಲು ಪ್ರಕಾಶಕರು/ಚಂದಾದಾರರ ಜೋಡಿಯ ಮೊದಲು:

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

ಎರಡನೆಯದು - ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಕೊನೆಯಲ್ಲಿ, ಫೈಲ್ ಅನ್ನು ಅಳಿಸುತ್ತದೆ:

import java.io.File;

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

ಮತ್ತು ಪ್ರಕಾಶಕರಲ್ಲಿ ಫೈಲ್‌ಗೆ ಮಾರ್ಗವನ್ನು ಸೇರಿಸಲು ಮರೆಯಬೇಡಿ:

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ಮತ್ತು ಚಂದಾದಾರರಿಗಾಗಿ JSR223 ಅಸೆರ್ಶನ್‌ನಲ್ಲಿ ಚೆಕ್ - ಸ್ವೀಕರಿಸುವವರ ಸರದಿಯಲ್ಲಿ ಬರುವ ಮೂಲ ಬೈಟ್‌ಗಳನ್ನು ಹೋಲಿಕೆ ಮಾಡಿ:

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

ತೀರ್ಮಾನಕ್ಕೆ

ಸರತಿ ಸಾಲುಗಳಿಗೆ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ನಾನು ನಾಲ್ಕು ವಿಧಾನಗಳನ್ನು ವಿವರಿಸಿದ್ದೇನೆ, ಅದನ್ನು ನಾನು ಆಚರಣೆಯಲ್ಲಿ ಪ್ರತಿದಿನ ಬಳಸುತ್ತೇನೆ. ಈ ಮಾಹಿತಿಯು ನಿಮ್ಮ ಜೀವನವನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ಮುಂದುವರಿಕೆಯಾಗಿ, ಒಂದು ತುದಿಯಲ್ಲಿ ಕ್ಯೂ ಮತ್ತು ಇನ್ನೊಂದು ಡೇಟಾಬೇಸ್ ಅಥವಾ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಇರುವ ವಿನಿಮಯವನ್ನು ಪರೀಕ್ಷಿಸುವ ನನ್ನ ಅನುಭವದ ಬಗ್ಗೆ ಮಾತನಾಡಲು ನಾನು ಯೋಜಿಸುತ್ತೇನೆ.

ನಿಮ್ಮ ಸಮಯವನ್ನು ಉಳಿಸಿ. ಮತ್ತು ನಿಮ್ಮ ಗಮನಕ್ಕೆ ಧನ್ಯವಾದಗಳು.

ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು JMeter: ಪ್ರಕಾಶಕರು ಮತ್ತು ಚಂದಾದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುವುದು

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ