Tomcat JMeter websocket插件maciejzaleski/JMeter WebSocketSampler的问题-java.io.IOException
我想使用JMeter和插件maciejzaleski/JMeter-WebSocketSampler来进行一些websocket测试 在服务器端,我运行了一个带有JavaWebSocket端点的tomcat。所以我使用的是Tomcat8.0中的websocket库 在我的测试中,我使用jmeter采样器向服务器发送一条带有数字的请求消息。如果触发了OnMessage事件,我将使用该数字从mongodb中读取大量数据集。读取数据集后,我想将它们发送回jmeter。它的工作原理类似于回声服务器Tomcat JMeter websocket插件maciejzaleski/JMeter WebSocketSampler的问题-java.io.IOException,tomcat,websocket,jmeter,Tomcat,Websocket,Jmeter,我想使用JMeter和插件maciejzaleski/JMeter-WebSocketSampler来进行一些websocket测试 在服务器端,我运行了一个带有JavaWebSocket端点的tomcat。所以我使用的是Tomcat8.0中的websocket库 在我的测试中,我使用jmeter采样器向服务器发送一条带有数字的请求消息。如果触发了OnMessage事件,我将使用该数字从mongodb中读取大量数据集。读取数据集后,我想将它们发送回jmeter。它的工作原理类似于回声服务器 @
@OnMessage
public void echo(int message, Session session) throws IOException{
System.out.println("Client message: " + message);
int limit=0;
limit = message;
//connect to mongoDB
//MongoClient client = new MongoClient("localhost",27017);
mongo = new MongoAccess(client);
//start time reading data
long timeOne = System.currentTimeMillis();
System.out.println("Time One:" + timeOne + "ms");
//read data from mongoDB
String data= mongo.readNumberOfDocuments(limit).toString();
//end time reading data
long timeTwo = System.currentTimeMillis();
System.out.println("Time Two:" + timeTwo + "ms");
System.out.println("Read Time Mongo: " + (timeTwo-timeOne) + "ms");
//send data to client
session.getBasicRemote().sendText("DB Time:" + (timeTwo-timeOne)+"ms "+data);
//close connection to mongoDB
client.close();
//Logging read times from mongo db
logReadTime(timeOne,timeTwo,"OnMessage");
}
如果我发送100对100数据集的数字,并使用循环一次,它工作正常。但是,如果我想要更多的数据集,比如1000或在循环中使用100,这是行不通的。我的雄猫抛出这样的异常
服务器只能发送113个数据集,而不是1000个,因为数据集到达后连接关闭
我的目标是通过websocket连接发送不同数量的数据集,并更改循环的数量。例如,我想向jmeter发送100次请求并接收1000个数据集。此外,我想模拟不同数量的用户。所以我想分析不同的响应时间
我认为问题出在jmeter方面,因为在我的浏览器中有一个简单的websocket客户端,我没有问题
知道我做错了什么吗?如何使用Jmeter测试类似的东西?websocket插件有一些问题,尽管维护人员有时会合并建议的修复,但该插件有一些改进的分支(我自己创建了一个)。所以我会检查这些,看看是否有一个可以解决您的特定问题。我想我记得一些“高容量”问题是由一些福克斯公司解决的。请看这里:
希望能有所帮助。截至2017年9月,最新、维护最完善、功能最强大的websocket插件是: