jmeter压测

压测大致分为两种,一种负载压测,另一种为并发压测,以下压测是并发压测。

先说一下压测的前置条件。一台window服务器(公司买的阿里云服务器)16c,32g。另一方面就是准备了2个pod 1c2g,tomcat配置如下:

- "/usr/bin/java"
- "-Xms2048m"
- "-Xmx2048m"
- "-Dserver.tomcat.connection-timeout=30000"
- "-Dserver.tomcat.max-connections=10000"
- "-Dserver.tomcat.accept-count=1000"
- "-Dserver.tomcat.max-threads=500"
- "-Dserver.tomcat.min-spare-threads=10"

压测条件:

压测结果-聚合报告如下:

说一下压测过程中遇到的问题:(这里是重点,因为这个问题不解决,jmeter一直压不上去)

问题一:带宽问题。处理方法:升级压测服务器带宽

压测的时候,TPS最高保持在300/sec,无论是升级pod配置还是增加pod数量,都不能有效处理。通过监测window服务器的带宽,发现最高为200Mb/s,已经为服务器的最高带宽。服务器带宽有瓶颈问题。处理办法:升级服务器带宽为1Gb/s,通过观察,峰时流量可达到500Mb/s,问题解决。

问题二、压测时jmeter占用服务器端口太多,jmeter报错。处理方法:修改window服务器注册表,修改对应参数

压测的时候,TPS一开始很高,然后逐步降低,而且开始有异常,jmeter察看结果树,错误信息如下:jmeter Response code:Non HTTP response code: java.net.BindException

jmeter Response message:Non HTTP response message: Address already in use: connect

经过查询,感觉是jmeter端口被占用的原因,参数如下帖子:https://www.zhankr.net/131291.html

修改了window服务器注册表信息

注册表目录:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

右键新建参数(DWORD),并设置值。

l MaxUserPort    十进制 65534

l TcpTimedWaitDelay 十进制 30

l KeepAliveTime      006ddd00

l KeepAliveInterval    000003e8

l MaxDataRetries 5

修改完毕后,重启window服务器,再次压测,不再出现问题,结果正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敏成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值