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

原文地址:https://www.cnblogs.com/yoyoketang/p/11657568.html

时间: 2024-10-09 22:43:04

jmeter压测学习1-window环境准备与案例的相关文章

jmeter压测学习2-linux运行jmeter环境

前言 使用jmeter做压测的时候,在windows上不太稳定,所有一直在linux服务器上使用jmeter做压力测试. 本篇记录下linux上搭建jmeter环境,以及运行jmeter脚本,查看报告. 相关环境: java 1.8 jmeter 5.1.1 java环境 先在Linux上安装java环境,安装1.8.0版本,先查找java相关的列表 yum -y list java* [[email protected]_0_2_centos ~]# yum -y list java* Loa

jmeter压测学习9-响应断言

前言 使用jmeter做接口压测的时候,如何能保证接口的每次返回结果都是我们预期的呢?这就需要添加检查点,也就是添加断言. 添加断言就是为了检查返回的结果与我们的预期是一致的,不用去一个个检查结果. 场景案例 我现在有一个登录接口,接口登录接口文档基本信息 访问地址:http://127.0.0.1:8000/api/v1/login/ 请求类型:POST 请求头部:Content-Type: application/json 请求参数:{"username":"test&q

Jmeter压测学习1—第一个项目:登录

我用的是我们公司的测试环境练习的 网址:http://****:9000/login.html  账号是admin 密码:123456 一.打开Jmeter 找到安装目录:bin->Jmeter.bat 点他,就打开了 二.新建线程组 新建完成后,如下图.因为我们只是试试看是否能走起来,下面这些就暂时不配置 三.添加HTTP信息头管理器 线程组,右击,配置元件->HTTP信息头管理器,一般测web,都要加上HTTP信息头 添加值:Content-Type:application/json 四.

jmeter压测学习3-提取json数据里面的token参数关联

前言 现在很多接口的登录是返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值. 上一个接口返回的token作为下个接口的入参. 案例场景 我现在有一个登陆接口A,登陆成功后返回一个token值.有一个获取绑定卡号的接口B,但是接口B必须要先登录后传登录的token才能访问 A接口登录接口文档基本信息 访问地址:http://127.0.0.1:8000/api/v1/login/ 请求类型:POST 请求头部:application/json

jmeter压测学习5-XPath提取器

前言 有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面. 并且有些参数是隐藏在html里面的,需要先从html页面中取出隐藏参数,如:csrfmiddlewaretoken 场景案例 我这里有个django项目的admin后台页面为案例 输入账号和密码登录成功后,抓包发现除了账号和密码参数,还有一个参数csrfmiddlewaretoken,并且这个参数每次都是动态的,不是固定值 所以在请求这个login接口的时候,需要先获取csrfmiddle

jmeter压测学习6-HTTP Cookie管理器

前言 web网站的请求大部分都有cookies,jmeter的HTTP Cookie管理器可以很好的管理cookies. 我用的 jmeter5.1 版本,直接加一个HTTP Cookie管理器放到请求的最前面,就可以自动管理cookies了. 看到网上有些教程说要把jmeter.property文件中将 CookieManager.save.cookies 设置为true,我这里 jmeter5.1 版本不用设置也成功了. 场景案例 当登录成功了,服务端会返回2个token 因为这个请求登录成

jmeter压测网站

1.Jmeter介绍 Jmeter是apache组织开发的基于java的压力测试工具. Jmeter可以用于对服务器.网络活对象模拟巨大的负载,来自不同压力类别下测试他们的强度和分析整体性能.另外,jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果.为了最大限度的灵活性,jmeter允许使用正则表达式创建断言. 2.Jmeter工作原理 image001 3.Jmeter安装 实验环境:系统:centos6.6 64位Java:1.8.0_65Jm

jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包

一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps:服务端每秒钟能处理的请求数. 响应时间:就是你从发出请求到服务端返回给你数据的时间. 二.jmeter操作数据库 在测试计划中添加mysql-connector-java-5.1.7-bin.jar 最后添加查看结果树.如果既要查询又要修改操作选择Callable Statement这个模式. 断言

jmeter压测app

使用代理的方式,录制app端脚本,之后用jmeter压测就没啥好说的了 1.电脑端谷歌设置本地代理(端口号为8888) 2.jmeter设置HTTP代理服务器(端口号为8888) 3.手机端wifi设置HTTP手动代理(服务器为电脑的IP,端口号为8888) 4.jmeter启动代理 5.手机端登陆使用app,jmeter录制到了脚本