zyanycall / stressTestPlatform

基于Jmeter实现的在线压测和管理Jmx的平台。
Apache License 2.0
623 stars 343 forks source link

生成报告报错异常 #57

Closed willisfeng closed 4 years ago

willisfeng commented 4 years ago

TotalTPSGraphConsumer2019-11-11 10:56:18.296 ERROR 27723 --- [async-service-4] o.a.j.report.dashboard.ReportGenerator : Class name "org.apache.jmeter.report.processor.graph.impl.TotalTPSGraphConsumer" is not valid.

java.lang.ClassNotFoundException: org.apache.jmeter.report.processor.graph.impl.TotalTPSGraphConsumer at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at io.renren.modules.test.jmeter.report.LocalReportGenerator.addGraphConsumer(LocalReportGenerator.java:333) at io.renren.modules.test.jmeter.report.LocalReportGenerator.generate(LocalReportGenerator.java:231) at io.renren.modules.test.service.impl.StressTestReportsServiceImpl.generateReportLocal(StressTestReportsServiceImpl.java:260) at io.renren.modules.test.service.impl.StressTestReportsServiceImpl.createReport(StressTestReportsServiceImpl.java:246) at io.renren.modules.test.service.impl.StressTestReportsServiceImpl$$FastClassBySpringCGLIB$$54ea4222.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:669) at io.renren.modules.test.service.impl.StressTestReportsServiceImpl$$EnhancerBySpringCGLIB$$2cf1a491.createReport() at io.renren.modules.test.service.impl.StressTestReportsServiceImpl$$FastClassBySpringCGLIB$$54ea4222.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:115) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

2019-11-11 10:56:18.297 DEBUG 27723 --- [async-service-4] i.r.m.t.dao.StressTestReportsDao.update : ==> Preparing: update test_stress_case_reports SET case_id = ?, file_id = ?, origin_name = ?, report_name = ?, file_size = ?, status = ? where report_id = ? 2019-11-11 10:56:18.297 DEBUG 27723 --- [async-service-4] i.r.m.t.dao.StressTestReportsDao.update : ==> Parameters: 1(Long), 2(Long), 乐办公客源测试1-000064_4379(String), 20191109162100471/case20191109162102100/case201911091621021004379.csv(String), 3115238(Long), 3(Integer), 3(Long) 2019-11-11 10:56:18.340 DEBUG 27723 --- [async-service-4] i.r.m.t.dao.StressTestReportsDao.update : <== Updates: 1 2019-11-11 10:56:18.341 ERROR 27723 --- [async-service-4] .a.i.SimpleAsyncUncaughtExceptionHandler : Unexpected error occurred invoking async method 'public void io.renren.modules.test.service.impl.StressTestReportsServiceImpl.createReport(io.renren.modules.test.entity.StressTestReportsEntity)'.

io.renren.common.exception.RRException: 执行生成测试报告脚本异常! at io.renren.modules.test.service.impl.StressTestReportsServiceImpl.generateReportLocal(StressTestReportsServiceImpl.java:267) at io.renren.modules.test.service.impl.StressTestReportsServic

zyanycall commented 4 years ago

TotalTPSGraphConsumer

TotalTPSGraphConsumer2019-11-11 10:56:18.296 ERROR 27723 --- [async-service-4] o.a.j.report.dashboard.ReportGenerator : Class name "org.apache.jmeter.report.processor.graph.impl.TotalTPSGraphConsumer" is not valid.

java.lang.ClassNotFoundException: org.apache.jmeter.report.processor.graph.impl.TotalTPSGraphConsumer at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at io.renren.modules.test.jmeter.report.LocalReportGenerator.addGraphConsumer(LocalReportGenerator.java:333) at io.renren.modules.test.jmeter.report.LocalReportGenerator.generate(LocalReportGenerator.java:231) at io.renren.modules.test.service.impl.StressTestReportsServiceImpl.generateReportLocal(StressTestReportsServiceImpl.java:260) at io.renren.modules.test.service.impl.StressTestReportsServiceImpl.createReport(StressTestReportsServiceImpl.java:246) at io.renren.modules.test.service.impl.StressTestReportsServiceImpl$$FastClassBySpringCGLIB$$54ea4222.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:669) at io.renren.modules.test.service.impl.StressTestReportsServiceImpl$$EnhancerBySpringCGLIB$$2cf1a491.createReport() at io.renren.modules.test.service.impl.StressTestReportsServiceImpl$$FastClassBySpringCGLIB$$54ea4222.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:115) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

2019-11-11 10:56:18.297 DEBUG 27723 --- [async-service-4] i.r.m.t.dao.StressTestReportsDao.update : ==> Preparing: update test_stress_case_reports SET case_id = ?, file_id = ?, origin_name = ?, report_name = ?, file_size = ?, status = ? where report_id = ? 2019-11-11 10:56:18.297 DEBUG 27723 --- [async-service-4] i.r.m.t.dao.StressTestReportsDao.update : ==> Parameters: 1(Long), 2(Long), 乐办公客源测试1-000064_4379(String), 20191109162100471/case20191109162102100/case201911091621021004379.csv(String), 3115238(Long), 3(Integer), 3(Long) 2019-11-11 10:56:18.340 DEBUG 27723 --- [async-service-4] i.r.m.t.dao.StressTestReportsDao.update : <== Updates: 1 2019-11-11 10:56:18.341 ERROR 27723 --- [async-service-4] .a.i.SimpleAsyncUncaughtExceptionHandler : Unexpected error occurred invoking async method 'public void io.renren.modules.test.service.impl.StressTestReportsServiceImpl.createReport(io.renren.modules.test.entity.StressTestReportsEntity)'.

io.renren.common.exception.RRException: 执行生成测试报告脚本异常! at io.renren.modules.test.service.impl.StressTestReportsServiceImpl.generateReportLocal(StressTestReportsServiceImpl.java:267) at io.renren.modules.test.service.impl.StressTestReportsServic

TotalTPSGraphConsumer 这个类我环境中确实没有。 建议找到出处,加入到环境中去,再生成报告。 怀疑:使用了Jmeter5.0的配置文件/jmeter_home地址。

willisfeng commented 4 years ago

是滴 Jmeter版本是5.1.1的,启动其他节点也报错,只能用4.0版本的么?

zyanycall commented 4 years ago

是滴 Jmeter版本是5.1.1的,启动其他节点也报错,只能用4.0版本的么?

这个是的,5.1的版本需要适配。当前仅仅是使用4.0的版本。 5.1版本有一些问题。

willisfeng commented 4 years ago

单独点节点是启用的,但是运行脚本的时候报异常,有QQ群么? 2019-11-11 19:14:29.217 INFO 331 --- [bio-8080-exec-8] o.a.jmeter.engine.DistributedRunner : Configuring remote engine: 172.16.4.143:1099 Configuring remote engine: 172.16.4.143:1099 2019-11-11 19:14:29.219 INFO 331 --- [bio-8080-exec-8] org.apache.jmeter.rmi.RmiUtils : Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true' 2019-11-11 19:14:29.233 ERROR 331 --- [bio-8080-exec-8] o.a.jmeter.engine.DistributedRunner : Failed to create engine at 172.16.4.143:1099

java.rmi.ConnectException: Connection refused to host: 172.16.4.143; nested exception is: java.net.ConnectException: Connection refused (Connection refused) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)

zyanycall commented 4 years ago

单独点节点是启用的,但是运行脚本的时候报异常,有QQ群么? 2019-11-11 19:14:29.217 INFO 331 --- [bio-8080-exec-8] o.a.jmeter.engine.DistributedRunner : Configuring remote engine: 172.16.4.143:1099 Configuring remote engine: 172.16.4.143:1099 2019-11-11 19:14:29.219 INFO 331 --- [bio-8080-exec-8] org.apache.jmeter.rmi.RmiUtils : Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true' 2019-11-11 19:14:29.233 ERROR 331 --- [bio-8080-exec-8] o.a.jmeter.engine.DistributedRunner : Failed to create engine at 172.16.4.143:1099

java.rmi.ConnectException: Connection refused to host: 172.16.4.143; nested exception is: java.net.ConnectException: Connection refused (Connection refused) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)

Jmeter 默认master 和 slave 之间,是需要SSL通信的,即加密通信。但是这个可以关掉。 因为我们一般都是内网,不存在窃取请求内容等安全性问题,还有SSL加密解密的过程会带来性能损耗。 所以一般都是关闭的。具体关闭的方式,日志中已经提示:server.rmi.ssl.disable is set to 'true' 这个配置在master的jmeter.properties 文件中,slave中也有一个。 改成true即可。

QQ群:没有。