我正在尝试使用JMeter将请求发送到我在 localhost 上运行的应用程序,但由于 java.net.SocketException ,许多请求都失败了。我在控制台中没有看到任何例外。
我阅读了这些question1和question2,但没有多大帮助。
我的代码如下:
val allowedValues = Set("name", "age", "job")
val parsedJson: JsValue = ....
parsedJson match {
case jsonObject: JsObject =>
val underlyingObjectValues = jsonObject.underlying
val keysNotInAllowedSet = underlyingObjectValues.keys.diff(allowedValues)
// Add keysNotInAllowedSet to the error list
case _ => // Possible parse JsArray, etc.
}
存储库
try {
return myService.findItems(group);
} catch (NullPointerException n) {
n.printStackTrace();
} catch (HibernateException h) {
h.printStackTrace();
} catch (IOException i) {
i.printStackTrace();
}
return null;
我的JMeter配置的屏幕截图
答案 0 :(得分:12)
从您提供的屏幕截图中,我认为您认为您的系统/本地主机是超级计算机,或者您错误配置了jmeter设置。
屏幕截图显示,10000个用户/线程将在1秒内启动,这对于在localhost上运行的应用程序来说是完全不真实的。仅Jmeter就会占用大部分CPU,内存即系统资源。
如果您的Jmeter正在吃掉所有资源,您的应用程序将获得任何内容(简单答案为否)因此应用程序将关闭,您将开始获得超时错误或套接字异常。
如果你在diff机器上有jmeter和应用程序,那么1秒内仍然有10000个用户对于正常应用来说是非常高的负载,很明显你将面临这样的错误。尝试使用给定hw为您的应用程序预期的实际负载运行测试。也许100个用户在1秒内逐渐增加到预期值。
我希望你现在明白了:)
答案 1 :(得分:0)
SocketException意味着网络问题。检查你是否正在运行服务器状态。