当前位置: 首页 > 面试题库 >

JMeter TCP采样器错误报告500

微生毅然
2023-03-14
问题内容

我正在使用JMeter使用TCP
Sampler(BinaryTCPClientImpl类)来加载测试我们的SMTP服务器,以触发HELO,等待30秒然后退出。

SMTP服务器接受HELO并作出相应的响应,JMeter记录了正确的响应,但是它似乎找不到响应,而是命中响应超时,并显示500个请求失败。

在JMeter日志中显示:

ERROR - jmeter.protocol.tcp.sampler.TCPSampler:      org.apache.jmeter.protocol.tcp.sampler.ReadException:
at org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl.read(BinaryTCPClientImpl.java:137)
at org.apache.jmeter.protocol.tcp.sampler.TCPSampler.sample(TCPSampler.java:350)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:416)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:271)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl.read(BinaryTCPClientImpl.java:123)

尽管事实上它设法记录了预期的响应!

我猜JMeter在某种程度上未能发现响应的结束?

任何有关如何解决或调试此问题的想法将不胜感激。


问题答案:

如果您没有定义EOM字节,它将读取到流的末尾。由于流不会结束,因此超时。您必须为所使用的协议正确设置EOM字节。



 类似资料:
  • 我在尝试制作Bdsk样例文件时出现了一些错误。作为Android Studio的新手,如果能让我知道如何修复这些错误,我将非常感激。 我根据以下说明使用示例源代码:要使用解决方案代码,使用名称“bdsk”和公司域名“bluetooth.com”创建一个新的Android Studio项目。创建项目后,将BDSK\app\src\main文件夹中的内容替换为Bluetooth Developer S

  • 错误日志对于发现程序中的错误是非常有帮助的,但是有些时候它也会将应用程序的结构暴露给外部。为了有效的保护你的应用程序不受到由此而引发的问题。你需要将在你的服务器上使用开发和生产(线上)两套不同的配置。 开发环境 为了在开发环境中显示所有可能的错误,将你的 php.ini 进行如下配置: display_errors = On display_startup_errors = On error_re

  • 1.1.2. 错误报告 没有不会犯错的开发者,PHP的错误报告功能将协助您确认和定位这些错误。可以PHP提供的这些详细描述也可能被恶意攻击者看到,这就不妙了。使大众看不到报错信息,这一点很重要。做到这一点很容易,只要关闭display_errors,当然如果您希望得到出错信息,可以打开log_errors选项,并在error_log选项中设置出错日志文件的保存路径。 由于出错报告的级别设定可以导致

  • IE、Firefox、Safari、Chrome 和Opera 等主流浏览器,都具有某种向用户报告JavaScript 错误的机制。默认情况下,所有浏览器都会隐藏此类信息,毕竟除了开发人员之外,很少有人关心这些内容。 因此,在基于浏览器编写JavaScript 脚本时,别忘了启用浏览器的JavaScript 报告功能,以便及时收到错误通知。 17.1.1 IE IE 是唯一一个在浏览器的界面窗体(

  • 当简单报表不适用于子报表时,此操作有效...

  • 需知 当你觉得发现了一个Swoole内核的bug时,请提出报告。 Swoole的内核开发者们或许还不知道问题的存在, 除非你主动提出报告,否则BUG也许将很难被发现并修复, 你可以在 Github的issue区 提出错误报告(即点击右上角绿色的New issue按钮),这里的错误报告将会被最优先解决。 请不要在邮件列表或私人信件中发送错误报告,Github的issue区同样可以提出对于Swoole

  • 错误报告 Stylus内置梦幻般的错误报告,针对语法、解析以及计算错误,完整的堆栈跟踪,行号和文件名。 解析错误 解析错误例子: body form input == padding 5px 呈现为: Error: /Users/tj/Projects/stylus/testing/test.styl:4 3: ' form input' 4: ' == padding