最近在对文件上传接口性能测试时,设置150线程数并发时,总会出现以下错误:connection reset by peer: socket write error

在网上搜索了一下,得到的原因有这些:

服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;
客户关掉了浏览器,而服务器还在给客户端发送数据;
浏览器端按了Stop;

和开发一起讨论了半天,谁都说不出个所以然来。开发说后台Tomcat没报错,不是代码的问题,会不会是工具的问题,于是乎找到网上一篇文章:

Jmeter遇到线程链接被重置(Connection reset by peer: socket write error)的解决方法

根据文章对jmeter进行了相应配置也没用。

后来还是一位开发大神找到了错误原因,原来,当jmeter报错时,后台Tomcat没报错,但是后台Nginx报错了!!!由于服务器只开通了80端口,开发人员使用Nginx将应用的端口进行了反向代理,反向后的端口为80,从而使测试机可以访问应用。

测试是否确实是Nginx的问题:将应用端口直接改为80,关闭Nginx后测试,结果显示不再报错,这证明这个错误确实是Nginx引起的。测试后将端口改回来。

在D:\nginx-1.15.0\logs\error.log中报错信息如下:

malloc(31457280) failed (8:Not enough storage is available to process this command)

网上很多人说是Nginx内存不足了,但是也没有人具体说怎么解决。尝试修改了Nginx的一些配置也没有用(可能是没改到点子上)。

后来将Nginx负载均衡改为Apache负载均衡,发现错误更多性能更差了。

最后还是大神将Nginx 32位改为了Nginx 64位(在官网没找到64位的,还是在某个网站上下载的)后,发现性能大大提升。

测试发现,并发300线程数时,jmeter都没报错!!!

当然长时间并发时,偶尔还是会有connection reset by peer: socket write error这个错误发生,但是总的来说接口性能已经大大提升了。

虽然还是没有完全搞清楚这个错误的发生原因以及解决办法,但总归是有点进步,在此记录,也给各位遇到此问题的朋友一点思路。

jmeter测试文件上传接口报错:connection reset by peer: socket write error的更多相关文章

  1. spring+ibatis问题1—— 程序报错:java.sql.SQLException: Io 异常: Connection reset by peer, socket write error; ”或“java.sql.SQLException 关闭的连接”异常

    转自:http://blog.sina.com.cn/s/blog_1549fb0710102whz2.html spring+ibatis程序测试时报错:java.sql.SQLException: ...

  2. postman测试文件上传接口教程

    postman是一个很好的接口测试软件,有时候接口是Get请求方式的,肯定在浏览器都可以测了,不过对于比较规范的RestFul接口,限定了只能post请求的,那你只能通过工具来测了,浏览器只能支持ge ...

  3. jmeter测试文件上传功能

    最近为了完成自动化KPI开始慢慢接触jmeter,其中遇到了不少问题,今天就遇到了文件上传的问题,在这里记录下加深记忆,也可供jmeter初级使用者作为一个参考.另外论坛上已有同事发过关于jmeter ...

  4. jmeter随笔(2)--上传接口报错

    黑夜小怪(2016-8-24  23:45) 微信订阅号: 问题:今天同事遇到问题,一个图片上传接口,单独跑是ok的,但是放在和其他接口一起就跑不通,如图 分析:查看该接口fiddler的抓包,发现请 ...

  5. 文件上传相关报错: The current request is not a multipart request或is a MultipartResolver configured?

    1:from中涉及到图片上传的就要用post提交方式.否则就会报这个错误. 2:第一中:在jsp页面的<head></head>标签里面加上<meta http-equi ...

  6. Jmeter遇到线程链接被重置(Connection reset by peer: socket write error)的解决方法

    做性能测试的时候遇到一个很奇怪的问题,多线程的计划,有一个线程第一次能跑过,第二次确跑不过,单独跑这个线程跑多少次都没有问题,把思考时间改短也没有问题,唯独出现在特定的状态下,特定状态是啥,也不得而知 ...

  7. 转 Jmeter测试实践:文件上传接口

    Jmeter测试实践:文件上传接口   1.打开jmeter4.0,新建测试计划,添加线程组.根据实际情况配置线程属性. 2.添加HTTP请求. Basic部分修改如下: Advanced部分我做任何 ...

  8. soapUI 之 测试文件上传 [6]

    在接口测试中会遇到需要上传文件的操作,比如头像修改等.那么soapui是怎么实现这部分测试的呢.以下以文件上传接口为例. 一.获取文件上传接口 可以通过开发直接提供的接口文档,或者自己抓包获取接口信息 ...

  9. Ceph RGW服务 使用s3 java sdk 分片文件上传API 报‘SignatureDoesNotMatch’ 异常的定位及规避方案

    import java.io.File;   import com.amazonaws.AmazonClientException; import com.amazonaws.auth.profile ...

随机推荐

  1. jexl2 执行字符串Java代码

    一,引入jar包, <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-jexl --><depen ...

  2. [SLAM] 03. ORB-SLAM2

    一年后再读SLAM~ 行业有了不少工程实践方面的突破 一.链接:https://www.zhihu.com/question/53571648/answer/176732257 目前来说,受到业界肯定 ...

  3. [IR] Concept Search and PLSA

    [Topic Model]主题模型之概率潜在语义分析(Probabilistic Latent Semantic Analysis) 感觉LDA在实践中的优势其实不大,学好pLSA才是重点 阅读笔记 ...

  4. vue分页组件

    <template> <div> <ul class="pagination"> <li @click="goTo(1)&quo ...

  5. Elasticsearch 学习之 节点重启

    ElasticSearch集群的高可用和自平衡方案会在节点挂掉(重启)后自动在别的结点上复制该结点的分片,这将导致了大量的IO和网络开销.如果离开的节点重新加入集群,elasticsearch为了对数 ...

  6. 自定义元素 v1:可重用网络组件

    google文档 https://developers.google.cn/web/fundamentals/web-components/customelements 兼容性 https://can ...

  7. Android Studio 工具窗口浮动与布局恢复【申明:来源于网络】

    Android Studio 工具窗口浮动与布局恢复[申明:来源于网络] http://bbs.chinaunix.net/thread-4182438-1-1.html

  8. Zabbix监控MySQL免密码设置

    zabbix自带MySQL监控模板,配置文件在/etc/zabbix/zabbix_agentd.d userparameter_mysql.conf 如果MySQL不使用密码可以直接使用这个监控模板 ...

  9. 英语专业出身也要走向python

    这两年一直徘徊在学习python和放弃python的道路上不断的徘徊,今年终于没有在蹉跎下去,选择了开始新的自我挑战,零基础开始学习python. 作为一名英语专业毕业的文科生,学习编程还是相对有些困 ...

  10. SQL命令中的case...when...then...else...end条件查询

    select b.XH, b.ZBXH, a.SJKSMC, a.JCRQ, a.JYRQ, a.JCJBMC, a.CYZMC,                               b.CY ...