jmeter 분포식 성능 테스트 노트
기계에 대응하는 jmeter.properties 수정remotehosts=10.2.102.250:109(slave기계에 대응하는 IP와 포트 번호) slave기계에 대응하는 jmeter.properties 수정 서버port=1099 ,server.rmi.localport=1099
slave 기계 조작 명령./jmeter-server -Djava.rmi.server.hostname=10.25.102.250(slave기의 ip)문제:rmikeystore.jks(No such file or directory) slave 시스템에서 jmeter를 수정합니다.properties에서 서버.rmi.ssl.disable=true
JMETER 수정HOME
export JMETER_HOME=/usr/apache-jmeter-4.0/binexport CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin
https://blog.csdn.net/xiongyu1010/article/details/52246042방화벽 닫기 시스템ctl stop firewalld
netstat -tunlp |grep 1099 포트 번호 보기 프로세스
jmeter 테스트 보고서 생성
jmeter -n -t/usr/apache-jmeter-4.0/bin/mobileCertTet.jmx -l/usr/apache-jmeter-4.0/bin/mobileCertTet.jtl
./jmeter -g test.jtl -e -o/usr/apache-jmeter-4.0/bin/resultReport
https://www.cnblogs.com/blog5277/p/5920560.htmljar 패키지로 만들다
JMeter 자바 요청 압력 테스트 완료 상세 및 문제 요약
https://blog.csdn.net/achang21/article/details/52453128/
import java.io.PrintStream;
import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class mobilep10aptotic
extends AbstractJavaSamplerClient
{
private SampleResult sr;
String method = "mobileCertApplyByCSR";
String dubboUrl = "10.2.102.216:2181,10.2.102.217:2181,10.2.102.218:2181";
String registryId = "rAProvide";
String interfaceName = "com.zxq.iov.cloud.sp.ra.api.IRACertApi";
String version = "1.0";
String p10 = "MIIC8DCCAdgCAQAwgaoxCzAJBgNVBAYTAkNOMREwDwYDVQQIDAhTaGFuZ2hhaTERMA8GA1UEBwwIU2hhbmdoYWkxKjAoBgNVBAoMIUJhbm1hIE5ldHdvcmsgVGVjaG5vbG9neSBDby4sIEx0ZDEaMBgGA1UECwwRWXVuT1MgQXV0byBNb2JpbGUxLTArBgNVBAMMJEJhbm1hVGVzdF8wMGhOd19ySXIyWFh4SXNTMzhVUmdJWVpxejCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMOz1RCt5Ct9PQaF/GhV/ADveP99rsSGlSlRrL/DfcMWaCbPP/eH8NgictuhjG/iWFA4GSrGB/Y+Dortu2rA0FIAEu+H2ZHPH5pcX4E73n5bfQbKs5KXTvR9PdAj7kK3klJLyqpZGqU1WtDA3Wu1JlOS7HrLX0JUXCzjBNwF9vQK9l8C4HPMtED2yJ28fhCgpy2JoKuRTJdcSv4JIE7Ts0QiiehnG5ptbELzqELA97TH62UvyDE53/osIhkeDYcXx9v83Gd3gZ6cS+xRZCG0Sj8mu+N40wUia64sxGU/C3Ur/9FwHp3XWW/RogAYg+pbhe1rcKFw/ctV0ASAkwbUcjUCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQC80d9Fsjd/5oV2/qrMTr8UOGd7ftZ8iJRh1eVbA8NLVAhHn78ks5u/8N+3qQifwZI29yFo0krszUVDGehI0nW4iEFJ7bl+uA7R4f8vm0jWI2qdj8KM1JPdsMi7cS8G+cx3d1ySCJqrYETHnBgLbTB/Q1/XKaUZc/ZrVdITYkwBbkL9sHqkB/lS1C33UCil5V8kdN3R5SUMxZt6AKGre8/2D6WUH9P5LuLDHteMPxWtiZJv9x1IzuwimwGReVpA9qRqV/GWYDvDT6dKY6xOmhNffpzSUiv8rEmuF/5DTg8kfD3odQFJfTMyQL2SY0uxeq39l1BvOdMixz8P9Ywbhpbp";
DubboRegistryConfig aRegistry = null;
DubboRequest raRequest;
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("method", "mobileCertApplyByCSR");
params.addArgument("dubboUrl", "10.2.102.216:2181,10.2.102.217:2181,10.2.102.218:2181");
params.addArgument("registryId", "rAProvide");
params.addArgument("interfaceName", "com.zxq.iov.cloud.sp.ra.api.IRACertApi");
params.addArgument("version", "1.0");
params.addArgument("p10filename", "${p10filename}");
return params;
}
public void setupTest(JavaSamplerContext arg0)
{
sr = new SampleResult();
super.setupTest(arg0);
this.aRegistry = new DubboRegistryConfig(this.dubboUrl);
this.raRequest = this.aRegistry.initRequest(this.registryId, this.interfaceName, this.version);
System.out.println("setupTest");
}
public void teardownTest(JavaSamplerContext arg0)
{
super.teardownTest(arg0);
}
public SampleResult runTest(JavaSamplerContext arg0)
{
// String method =arg0.getParameter("method");
// String dubboUrl =arg0.getParameter("dubboUrl");
// String registryId =arg0.getParameter("registryId");
// String interfaceName =arg0.getParameter("interfaceName");
// String version =arg0.getParameter("version");
// String p10filename =arg0.getParameter("p10filename");
// SampleResult sr = null;
Map params = new LinkedHashMap();
try
{
params.put("p10", this.p10);
sr = new SampleResult();
sr.sampleStart();
System.out.println("begin");
DubboResponse response = this.raRequest.invoke(this.method, params);
sr.setResponseData(response.getResponse().toString(), "UTF-8");
sr.setSuccessful(true);
sr.sampleEnd();
SampleResult localSampleResult1 = sr;
return localSampleResult1;
}
catch (Exception e)
{
e = e;
if (sr != null)
{
sr = new SampleResult();
sr.sampleStart();
}
String alltraces = "";
StackTraceElement[] alltrace = e.getStackTrace();
for (int i = 1; i < alltrace.length; i++) {
alltraces = alltraces + alltrace[i].toString() + System.getProperty("line.separator", "/n");
}
sr.setResponseData(e.getCause().toString() + e.toString() + System.getProperty("line.separator", "/n") + alltraces.toString(), "UTF-8");
sr.setSuccessful(false);
sr.sampleEnd();
return sr;
}
finally {}
}
public static void main(String[] args)
{
mobilep10aptotic itest = new mobilep10aptotic();
itest.setupTest(null);
itest.runTest(null);
System.out.println("end");
}
}
dubbo 인터페이스를 setuptest에 등록하면 전역 변수인 Sample Result를 효율적으로 정의할 수 있고 setup에서 정의하면 dubbo 인터페이스 연결에 문제가 없음을 해결할 수 있습니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.