前言

最近用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环境准备与案例的更多相关文章

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

    前言 使用jmeter做压测的时候,在windows上不太稳定,所有一直在linux服务器上使用jmeter做压力测试. 本篇记录下linux上搭建jmeter环境,以及运行jmeter脚本,查看报告 ...

  2. jmeter压测学习9-响应断言

    前言 使用jmeter做接口压测的时候,如何能保证接口的每次返回结果都是我们预期的呢?这就需要添加检查点,也就是添加断言. 添加断言就是为了检查返回的结果与我们的预期是一致的,不用去一个个检查结果. ...

  3. jmeter压测学习8-压测带token的接口

    前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口. 比如我现在要压测一个修改用户的个人信息接口,每个用 ...

  4. jmeter压测学习12-设置持续压测时间(调度器的使用)

    前言 使用jmeter 做压测的时候,希望对一个接口持续压测 10 分钟或者半小时,可以使用调度器设置持续压测时间. 设置样本总数 压测方式有2种,一种是设置线程组和循环次数,这样可以设置一个样本总数 ...

  5. jmeter压测学习7-登录参数化(CSV 数据文件设置)

    前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况. 如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有 ...

  6. Jmeter压测学习6---登录参数CSV

    前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况.如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可 ...

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

    我用的是我们公司的测试环境练习的 网址:http://****:9000/login.html  账号是admin 密码:123456 一.打开Jmeter 找到安装目录:bin->Jmeter ...

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

    前言 web网站的请求大部分都有cookies,jmeter的HTTP Cookie管理器可以很好的管理cookies. 我用的 jmeter5.1 版本,直接加一个HTTP Cookie管理器放到请 ...

  9. jmeter压测学习5-XPath提取器

    前言 有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面. 并且有些参数是隐藏在html里面的,需要先从html页面中取出隐藏参数,如:csrfmidd ...

随机推荐

  1. django 中进程监控工具flower的使用

    工程结构:请参考https://www.cnblogs.com/apple2016/p/11425307.html flower官方文档:https://flower.readthedocs.io/e ...

  2. Thinkphp中的系统变量

    Action中使用的系统常量 THINK_PATH // ThinkPHP 系统目录 APP_PATH // 当前项目目录 APP_NAME // 当前项目名称 MODULE_NAME //当前模块名 ...

  3. SAINT学习笔记

    SAINT的介绍 SAINT(Significance Analysis of INTeractome)是一种概率方法,用于在亲和纯化-质谱(AP-MS)实验中对阴性对照的诱饵-猎物相互作用进行打分, ...

  4. [转帖]分布式锁-redLock And Redisson

    分布式锁-redLock And Redisson 2019-03-01 16:51:48 淹不死的水 阅读数 372更多 分类专栏: 分布式锁   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  5. 算法:array1和array2地址值相同,都指向堆空间的唯一的一个数组实体(不是数组的复制)

    package com.atguigu; public class fuzhi { public static void main(String[] args) { int[] array1=new ...

  6. c++11多线程记录0

    两种并发编程模型 多进程 进程间通信常用的几种方式: 文件 管道 消息队列 多线程 一个进程中存在的多个线程,通常通过共享内存来通信,(说的非常非常粗俗,就是通过类似"全局变量"的 ...

  7. SocketChannel简述

    前言 在前面的Channel概述的分类中提到过SocketChannel主要是用来基于TCP通信的通道.这篇文章详细介绍下SocketChannel SocketChannel是什么 SocketCh ...

  8. ER图VISIO 引入Mysql 反向工程

    1. 先到MySQL官方站点下载 MySQL Connector/ODBC 5.1并安装.下载地址为http://dev.mysql.com/downloads/connector/odbc/5.1. ...

  9. 示例:自定义WPF底层控件UI库 HeBianGu.General.WpfControlLib V2.0版本

    原文:示例:自定义WPF底层控件UI库 HeBianGu.General.WpfControlLib V2.0版本 一.目的:封装了一些控件到自定义的控件库中,方便快速开发 二.实现功能: 基本实现常 ...

  10. APS.NET MVC + EF (03)---初始MVC

    3.1 MVC简介 MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式.它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(C ...