jmeter压测学习1-window环境准备与案例
前言
最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题。
在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketException: Socket operation on nonsocket: connect
环境准备:
java 1.8
jmeter 5.1.1
jmeter环境
jmeter环境依赖JAVA环境,需安装JDK1.8环境,JDK环境安装网上一大堆教程,自己去想办法吧,我这里就不多说了。
jmeter的安装包,网上随便下载一个就可以了https://jmeter.apache.org/download_jmeter.cgi

下载zip包,解压到本地,打开apache-jmeter-5.1.1\bin目录,找到jmeter.bat双击就可以了

需求案例
压测的接口是我本地随便写的一个接口,接口相关信息如下
接口访问地址:http://127.0.0.1:8000/api/test/demo
请求方式:get
本次测试目标:设置50,100, 200并发数,测试服务器发最大TPS值
jmeter压测
打开jmeter界面添加线程组,设置虚拟用户数100(也就是并发数),每秒启动100个线程,循环1000次

添加http请求
- 请求方式: http
- ip地址:也就是你部署服务的机器的ip,本机可以写127.0.0.1
- port端口:8000
- HTTP请求方式: get
- Path 接口的地址: /api/test/demo
添加查看结果数和聚合报告

100并发报错
当并发数设置100,启动测试后,会出现报错:java.net.SocketException: Socket operation on nonsocket: connect

新建DWORD值,name:TcpTimedWaitDelay,value:30(十进制)设置为30秒
新建DWORD值,name:MaxUserPort,value:65534(十进制)最大连接数65534
右键-新建DWORD值
重命名后,选中十进制,设置对应的值

新建DWORD值,name:MaxUserPort,value:65534(十进制)最大连接数65534
jmeter压测学习1-window环境准备与案例的更多相关文章
- jmeter压测学习2-linux运行jmeter环境
前言 使用jmeter做压测的时候,在windows上不太稳定,所有一直在linux服务器上使用jmeter做压力测试. 本篇记录下linux上搭建jmeter环境,以及运行jmeter脚本,查看报告 ...
- jmeter压测学习9-响应断言
前言 使用jmeter做接口压测的时候,如何能保证接口的每次返回结果都是我们预期的呢?这就需要添加检查点,也就是添加断言. 添加断言就是为了检查返回的结果与我们的预期是一致的,不用去一个个检查结果. ...
- jmeter压测学习8-压测带token的接口
前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口. 比如我现在要压测一个修改用户的个人信息接口,每个用 ...
- jmeter压测学习12-设置持续压测时间(调度器的使用)
前言 使用jmeter 做压测的时候,希望对一个接口持续压测 10 分钟或者半小时,可以使用调度器设置持续压测时间. 设置样本总数 压测方式有2种,一种是设置线程组和循环次数,这样可以设置一个样本总数 ...
- jmeter压测学习7-登录参数化(CSV 数据文件设置)
前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况. 如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有 ...
- Jmeter压测学习6---登录参数CSV
前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况.如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可 ...
- Jmeter压测学习1—第一个项目:登录
我用的是我们公司的测试环境练习的 网址:http://****:9000/login.html 账号是admin 密码:123456 一.打开Jmeter 找到安装目录:bin->Jmeter ...
- jmeter压测学习6-HTTP Cookie管理器
前言 web网站的请求大部分都有cookies,jmeter的HTTP Cookie管理器可以很好的管理cookies. 我用的 jmeter5.1 版本,直接加一个HTTP Cookie管理器放到请 ...
- jmeter压测学习5-XPath提取器
前言 有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面. 并且有些参数是隐藏在html里面的,需要先从html页面中取出隐藏参数,如:csrfmidd ...
随机推荐
- .net core中使用efcore
官网:https://docs.microsoft.com/zh-cn/aspnet/core/data/ef-mvc/intro?view=aspnetcore-2.2#register-the-s ...
- 关于深度学习框架 TensorFlow、Theano 和 Keras
[TensorFlow] ——( https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/) 1.TensorFlow是啥 ...
- 【转】android实时视频网络传输方案总结(一共有五套)
最近研究了Android的实时视频网络传输问题,在视频处理方面花费了大量精力进行研究,总结出以下五套方案,并加以比较 以320×240大小的视频传输为例 方案 压缩率 压缩/传输方式 实时性 平均流量 ...
- Maven 教程(15)— 实现多个项目关联自动化构建(maven-invoker-plugin插件的使用)
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79726664 一.场景设想一个团队正在开发一个项目 bus-core-api,并 ...
- 【mysql】'XXX.XXX.XXX' isn't in GROUP BY问题解决
原因是mysql的版本低于5.7,使用的GROUP BY 例如:数据库名称为db,表为t,sql为SELECT id, user_name FROM sys_user GROUP BY id 报错为 ...
- StringTable
首先看这样一个面试题 // StringTable [ "a", "b" ,"ab" ] hashtable 结构,不能扩容 public ...
- NOI2019游记
本来打算写退役记的,结果退役失败了,所以 非常抱歉,这篇文章鸽了.
- 谷歌浏览器安装Elasticsearch-head 插件
下载该插件,地址:https://github.com/liufengji/es-head/blob/master/elasticsearch-head.crx 下载后的文件名是:elasticsea ...
- Dapper安装与使用
1.VS2015直接使用nuget包搜索Dapper,安装时报错:显示版本不兼容. 于是使用命令安装dapper低版本. 步骤: 打开项目,vs工具---Nuget包管理器--程序包管理器控制台 ...
- NetCore2.2开发环境搭建和2008R2部署环境搭建
开发环境: 开发工具:VS2017 系统:Win10 64位 Skd下载地址: https://dotnet.microsoft.com/download 3个都下载下载,安装dotnet-sdk-2 ...