JMeter压测接口时,Error率非常高---未解决

最近在接触一个秒杀项目,所以使用JMeter来对秒杀接口进行压测,但是在测试过程中,发现秒杀接口的error率非常高,刚开始以为是业务逻辑出现问题,结果检查之后发现并没有问题,另外,在更换接口压测时,也同样出现了这个问题:
在这里插入图片描述
我们从结果树这一栏可以看到其中出现异常的请求是出现了一个名为ConnectionException的异常,具体信息是:地址在本地计算机上无效,或端口在远程计算机上无效。但由于我的项目只部署在本机上,所以应该是地址出现了问题。我们可以看到正常请求的request Body是完整正常的,而那些显示为TCP Sampler的请求,request的地址是空的,所以会出现地址在本机上无效的情况。
在这里插入图片描述
在网上找了很多解决方法,有一说法是TCP端口过少,导致在占用期间有其他链接进入导致异常,但其中报的异常是BindException,与我的情况不符合,我抱着死马当活马医的方法尝试着在注册表中修改其参数,参考此文章:解决压测异常率过高的问题,修改过后重启,再次压测,又出现了该文中的异常,如下:
在这里插入图片描述
在这里插入图片描述

于是乎我又从低到高地对接口进行压测,先是几百,再到几千,甚至到15000,error率都是0,当请求数到达18000的时候,Error率就到达24.36%了。然后也不明白为什么,至今没有找到有效的解决方法。
如果有大神有什么想法或者解决方法的话,请不吝赐教,在此谢过!

### 使用 JMeter 对 `form-data` 类型接口进行试 对于 `form-data` 类型的接口JMeter 需要特别配置来模拟这种请求。具体来说,当设置 HTTP 请求采样器,应确保选择了合适的选项并正确设置了参数。 #### 设置HTTP请求采样器 在创建线程组之后,添加一个HTTP请求默认值或直接添加HTTP请求采样器。在此处,重要的是要在“发送文件随同请求一起上传”部分指定文件路径以及 MIME 类型[^5]。然而,对于普通的键值对形式的数据,则不需要此操作;只需关注如何处理这些数据作为表单项即可。 为了使 JMeter 正确地构建 `multipart/form-data` 请求,应该: - **选择正确的实现方式**:将 HTTP 请求中的 Implementation 设定为 Java 或者 HttpClient4/HttpClient5(取决于版本),因为它们能够更好地支持多部件消息格式。 - **启用 multipart/form-data 选项**:勾选 "Use multipart/form-data" 复选框以指示这是一个包含多个部分的消息体。 - **定义参数**:切换到 Parameters 标签页而不是 Body Data 来输入 POST 参数,并且每一对 key-value 应该单独一行列出。 另外值得注意的一点是在实际应用中,服务器端可能会期待特定的边界字符串用于分隔不同的字段。虽然通常情况下客户端会自动生成这个边界串,但在某些特殊场景下可能需要手动调整它以匹配目标服务的要求[^4]。 下面是一个简单的例子展示如何配置上述提到的内容: ```properties POST http://example.com/api/upload Headers: Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW Payload (using Parameters tab with Use multipart/form-data checked): file=@path/to/file.txt;text/plain description=A brief description of the file. ```
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值