我试图运行一个jmeter测试脚本,它有一个单一的websocket采样器。当我通过java GUI或命令行从单机运行它时,它工作得很好。
但是,当我尝试在远程主机上运行它时(通过在其他机器上运行jmeter-server),然后抛出以下异常:
误差- jmeter.engine.ClientJMeterEngine: Error in rconfigure() method java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: JMeter.plugins.functional.samplers.websocket.WebSocketSampler (no security manager: RMI class loader disabled)
2016/10/06 07:03:20 INFO - jmeter.engine.ClientJMeterEngine: Interrupting RMI Reaper
主/从jmeter安装有相同版本的jmeter(v3.0)和websocket插件(v1.0.2)。
任何其他http分布式测试运行良好,当它运行在相同的设置
根据错误消息,看起来WebSocket插件在远程从属服务器上丢失了。执行分布式JMeter测试的主要先决条件是在remove slave和master上拥有相同的 JMeter版本,具有相同的配置、插件、第三方库等。
所以确保你有相同的设置在主服务器和所有从服务器上,即安装WebSocket采样器到所有从服务器。
- JMeter重启将需要选择插件 安装JMeter插件和保持他们最新的最简单的方法是使用JMeter插件管理器