我正在执行一个分布式测试,并遵循了以下步骤。
> < li>
主设备和从设备上的Jmeter版本相同。
Java版本在主服务器和从服务器上是相同的。
两个系统都在同一个子网中,我可以从我的主服务器ping到从服务器。
rmi密钥在master上创建,并复制到bin文件夹中的slave。
从机IP地址添加在remote_hosts
当我在非GUI模式下从主服务器到从服务器运行简单测试(使用jmx)时,我可以看到
Starting the test on host 10.1.11.85(fake ip here just for example)
Finished the test on host 10.1.11.85(fake ip here just for example)
在我的主机器上,我可以看到
F:\Performance Testing\apache-jmeter-5.1.1\apache-jmeter-5.1.1\bin>jmeter.bat -n -R 10.1.56.65 -t
"F:\Performance Testing\Linkedin.jmx" -f -l "F:\Performance Testing\LoadTestData.csv" -e -o
"F:\Performance Testing\LoadTestData"
Picked up _JAVA_OPTIONS: -Xms512m -Xmx4096m
Creating summariser <summary>
Creating summariser <summary>
Created the tree successfully using F:\Performance Testing\Linkedin.jmx
Configuring remote engine: 10.1.56.65(Fake ip here for example)
Starting remote engines
Starting the test @ Mon Sep 30 14:23:40 CEST 2019
Remote engines have been started
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
我的脚本停在这里,即使我等了2个小时,它仍然是一样的。
脚本没有整理,没有得到结果。
当我进行bit调查并在从属机器上打开< code>jmeter-server.log文件时,我看到:
java.rmi.ConnectException:连接拒绝主机:10 . 1 . 56 . 65;嵌套异常为:java.net.ConnectException:连接超时:connect at sun . RMI . transport . TCP . tcpendpoint . new socket(未知来源)~[?:1 . 8 . 0 _ 211]at sun . RMI . transport . TCP . TCP channel . create connection(未知来源)~[?:1 . 8 . 0 _ 211]at sun . RMI . transport . TCP . TCP channel . new connection(未知来源)~[?:1.8.0_211]位于sun . RMI . server . unicastref . invoke(未知来源)~[?:1 . 8 . 0 _ 211]at Java . RMI . server . remoteobjectinvocationhandler . invokeremotethod(未知来源)~[?:1 . 8 . 0 _ 211]at Java . RMI . server . remoteobjectinvocationhandler . invoke(未知来源)~[?:1 . 8 . 0 _ 211]at com . sun . proxy . $ proxy 21 . test started(未知来源)~[?:?]at org . Apache . jmeter . samplers . remotelistenerwrapper . test started(remotelistenerwrapper . Java:79)[Apache meter _ core . jar:5 . 1 . 1 r 1855137]at org . Apache . jmeter . engine . standard jmeter engine . notifytestlistenersofstart(standard jmeter engine . Java:208)[Apache meter _ core . jar:5 . 1 . 1 r 1855137]at org . Apache . jmeter . engine . standardejmeter engine . run(run:1.8.0_211]原因:java.net.ConnectException:连接超时:connect at Java . net . dualstackplainsocketimpl . connect 0(Native Method)~[?:1 . 8 . 0 _ 211]at Java . net . dualstackplainsocketimpl . socket connect(未知来源)~[?:1 . 8 . 0 _ 211]at Java . net . abstractplainsocketimpl . doc connect(未知来源)~[?:1 . 8 . 0 _ 211]at Java . net . abstractplainsocketimpl . connecttoaddress(未知来源)~[?:1 . 8 . 0 _ 211]at Java . net . abstractplainsocketimpl . connect(来源不明)~[?:1.8.0_211]在Java . net . plainsocketimpl . connect(来源不明)~[?:1.8.0_211]在Java . net . sockssocketimpl . connect(来源不明)~[?:1.8.0_211]在java.net.Socket.connect(未知来源)~[?:1.8.0_211]在sun . security . SSL . sslsocketimpl . connect(来源不明)~[?:1 . 8 . 0 _ 211]at sun . security . SSL . sslsocketimpl .(来源不明)~[?:1 . 8 . 0 _ 211]at sun . security . SSL . sslsocketfactoryimpl . create socket(未知来源)~[?:1 . 8 . 0 _ 211]at org . Apache . jmeter . RMI . sslrmiclientsocketfactory . create socket(sslrmiclientsocketfactory . Java:118)~[Apache jmeter _ core . jar:5 . 1 . 1 r 1855137]...11更
我想是这样的,从服务器不能将结果发送回主服务器,并且连接被拒绝,我该如何解决这个问题?期待收到你的来信。(已编辑)
您可以ping从站这一事实并不一定意味着JMeter可以通过RMI与它通信,因为您的操作系统防火墙可以允许ICMP流量,但会阻止JMeter正在使用的端口。
默认情况下,JMeter使用端口1099,所以请仔细检查是否允许传入连接。如果不是,请更改< code>server.port属性以使用自由且允许的端口,或者创建防火墙规则来阻止流量。
问题内容: 在Java线程转储中,您可以看到堆栈跟踪中提到的锁。 似乎有三种信息: 1: 2: 3: 1:线程已获得对象0x00002aab329f7fa0的锁。 2&3:似乎是说线程正在等待该对象上的锁可用… 但是2和3有什么区别? 问题答案: 使用内在锁时,您将在线程转储中获得“等待锁”,而使用java.util.concurrent中的锁时,将获得“停放以等待”。考虑以下示例: 随着您将获得
问题内容: 根据文档,当应用程序遇到OutOfMemoryException时,可以自动进行堆转储。 经过OutOfMemoryException过程只是从左侧菜单中消失。 此功能如何在VisualVM中工作? 谢谢。 C:\ work \ temp> java -XX:HeapDumpPath = c:/work/temp/file.hprof -XX:+ HeapDumpOnOutOfMemo
问题内容: 我在标准Windows命令窗口中有一个正在运行的Java进程。即我已经运行’cmd’并在java -jar中键入… 我需要尽可能获得所有线程的完整堆栈转储。 我记得在Linux下,您可以通过quit命令上的选项将消息发送到JVM。 在此文件中为太阳状态 若要在Windows 95或Windows NT平台上生成堆栈跟踪,请在运行Java程序的窗口中输入键序列,或单击窗口上的“关闭”按钮
问题内容: 我想弄清楚为什么Elasticsearch节点上的JVM堆使用率始终保持在80%以上。为了做到这一点,我通过运行一个堆转储 (5348是进程ID)。然后,我可以使用VisualVM分析转储。 问题是在进行转储时暂停了JVM,因此该节点基本上处于脱机状态约5分钟。 本文提出了一种更快的方法,该方法依赖于在Linux 上使用coredump 。我已经尝试过WinDbg,它创建了一个核心转储
Twilio布道者们好, 我们使用Twilio模块,可编程聊天,并使用Javascript客户端和Twilio.api,C#服务器API。 我们希望用户看到特定信道的信道和消息,但需要有条件地阻止他们发送消息。 我们可以禁用UI元素,但智能用户仍然能够访问Twilio客户端,并发送消息。
问题内容: 任何人都可以用C,C ++和Java清楚地解释一下。什么都在堆栈上,什么都在堆上以及何时分配。 我所知道的, 每个函数调用的所有局部变量(无论是基元,指针还是引用变量)都在新的堆栈框架上。 使用new或malloc创建的所有内容都会进入堆。 我对几件事感到困惑。 是在堆上创建的对象成员的引用/基元是否也存储在堆上? 以及在每个框架中递归创建的方法的那些本地成员呢?它们都在堆栈上吗?如果