Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JMeter报告的套接字错误的原因是什么_Jmeter_Performance Testing_Socketexception - Fatal编程技术网

JMeter报告的套接字错误的原因是什么

JMeter报告的套接字错误的原因是什么,jmeter,performance-testing,socketexception,Jmeter,Performance Testing,Socketexception,我正在运行一个测试,峰值时有350个用户。我将测试分为两台机器,其中一台机器运行220个用户,其余的在另一台机器上。在两台机器上运行几分钟后,我开始看到套接字异常、套接字超时异常和HTTP主机异常 我试图在负载平衡器(软件)、IIS日志、应用程序日志和环境监控系统中找到与此异常相关的任何错误,但在任何地方都没有找到 我在网上读了很多博客和答案,这些博客和答案都有相同的问题,并且能够通过更改JMeter设置来解决。我尝试了所有这些设置,但都没有效果 我正在运行我的测试 Windows Server

我正在运行一个测试,峰值时有350个用户。我将测试分为两台机器,其中一台机器运行220个用户,其余的在另一台机器上。在两台机器上运行几分钟后,我开始看到套接字异常、套接字超时异常和HTTP主机异常

我试图在负载平衡器(软件)、IIS日志、应用程序日志和环境监控系统中找到与此异常相关的任何错误,但在任何地方都没有找到

我在网上读了很多博客和答案,这些博客和答案都有相同的问题,并且能够通过更改JMeter设置来解决。我尝试了所有这些设置,但都没有效果

我正在运行我的测试

Windows Server 2012 R2/ 6 GB RAM/ 64 Bit OS/ 64 bit Java/ Intel Xeon CPU E5-46170 @ 2.90 GHz processor/ JMeter 2.13
我的JMeter.bat设置是:

set HEAP=-Xms1536m -Xmx2048m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=1024m -XX:+UseConcMarkSweepGC
set SURVIVOR=-XX:SurvivorRatio=3 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=12
rem Java 8 remove Permanent generation, don't settings the PermSize
if %current_minor% LEQ "8" (
    rem Increase MaxPermSize if you use a lot of Javascript in your Test Plan :
    set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m
)

set IPV4=-Djava.net.preferIPv4Stack=true
set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %RMIGC% %PERM% %DDRAW% %IPV4%
My HC.参数设置为:

http.connection.stalecheck$Boolean=true
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.data_type=false
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=false
jmeter.save.saveservice.assertions=false
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.assertion_results_failure_message=false
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
jmeter.save.saveservice.default_delimiter=,
jmeter.save.saveservice.print_field_names=true
jmeter.save.saveservice.autoflush=true

httpclient4.retrycount=1
hc.parameters.file=hc.parameters
我的user.properties设置为:

http.connection.stalecheck$Boolean=true
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.data_type=false
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=false
jmeter.save.saveservice.assertions=false
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.assertion_results_failure_message=false
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
jmeter.save.saveservice.default_delimiter=,
jmeter.save.saveservice.print_field_names=true
jmeter.save.saveservice.autoflush=true

httpclient4.retrycount=1
hc.parameters.file=hc.parameters
我正在运行我的测试2小时,我的测试被设置为永远循环,出错时停止线程(也使用:出错时启动下一个线程循环)运行。我已经检查了下载嵌入式资源,并将连接池设置为6(也使用4运行)

我已经使用默认HTTP客户端和HTTPClient 4运行了测试

到目前为止,我可以想出3件其他的事情来尝试,但我几乎是束手无策,需要一些建议

  • IP欺骗
  • 使用Java客户端运行
  • 在服务器-客户端模式下运行
  • 如果你需要更多的信息,我会尽我所能提供,但请帮助

    其他信息:

    我收到的套接字错误

    直接打击非法入境者 我运行了一些测试,在打开失败请求日志记录的情况下直接命中一台服务器,并注意到以下错误

    A process serving application pool 'XXXXXXXXX' failed to respond to a ping.
    The process was terminated due to an internal error in the .NET Runtime at IP XXXXXXXXXXXXXX with exit code 80131506.
    

    当您加载测试时,经常发生的情况是,被测试的应用程序无法处理负载,这将表现为套接字rest、套接字超时

    在您的情况下,服务器正在关闭连接,这意味着它可能过载。 您需要检查服务器端的组件:

    • 防火墙
    • 负载平衡器
    • Apache或IIS或任何其他Web服务器
    • 像tomcat、jboss或其他类似的J2EE服务器

    当您加载测试时,经常会发生被测应用程序无法处理负载的情况,这将表现为套接字rest、套接字超时

    在您的情况下,服务器正在关闭连接,这意味着它可能过载。 您需要检查服务器端的组件:

    • 防火墙
    • 负载平衡器
    • Apache或IIS或任何其他Web服务器
    • 像tomcat、jboss或其他类似的J2EE服务器

    添加了我收到的套接字错误。我同意JMeter没有问题,但应该在其他地方为这些错误提供相应的条目,但我无法找到它。因此,我会问我应该在哪里寻找或者应该在哪里做。防火墙-没有被阻止的负载平衡器(软件)-没有IIS-这是一个有趣的问题,这里没有明显的日志记录。我将更新我的问题,以了解更多细节。没有Tomcat、JBoss或其他任何东西,.Net应用程序添加了我收到的套接字错误。我同意JMeter没有问题,但应该在其他地方为这些错误提供相应的条目,但我无法找到它。因此,我会问我应该在哪里寻找或者应该在哪里做。防火墙-没有被阻止的负载平衡器(软件)-没有IIS-这是一个有趣的问题,这里没有明显的日志记录。我将更新我的问题,以了解更多细节。没有Tomcat、JBoss或任何其他的.Net应用程序