并发模拟工具(JMeter、Apache Bench、postMan)详解

article/2025/11/3 23:18:15

目录

一、Psotman:Http请求模拟工具

二、Apace Bench(AB):Apache附带的工具,测试网站性能

三、JMeter:Apache组织开发的压力测试工具(使用比较多的工具)

四、代码模拟

五、总结

 


简介:

一、Psotman
二、Apache Bench(AB)
三、JMeter
四、代码


一、Psotman:Http请求模拟工具

严格来说postMan并不是并发请求,而是串行执行的,现在用postMan更多的是用来测试Http连接的一个工具,但是也是一个很实用的工具,也有一些比较强大的功能和优点

1.1 下载地址

  1. Postman for MAC
  2. Postman for windows X64
  3. Postman for windows X86
  4. Postman for linux X64
  5. Postman for Linux X86
  6. 官网地址

1.2 操作说明(以win64为例)

1、打开Postman,输入我们需要测试的网址,点击左边的"+",保存请求
在这里插入图片描述
2、点击"+"后,弹出下面提示,保存链接地址生成测试文件夹名称
在这里插入图片描述
3、保存成功后,选择"collections"后选择文件夹名为"gbfTest"的,点击小三角——点击Run
在这里插入图片描述

4、这里我们可以设置请求次数和间隔时间,一般间隔时间会设置为0,设置好之后,我们点击Run gbfTest运行
在这里插入图片描述

5、查看结果,从图中我们可以看到百度的响应速度还是很快的
在这里插入图片描述

6、点击 Run Summary 可以看到运行结果概述
在这里插入图片描述
7、测试全部通过
在这里插入图片描述
8、测试结果可以通过点击Export Results按钮进行导出,方便分析每次的请求时间
在这里插入图片描述
在这里插入图片描述

二、Apace Bench(AB):Apache附带的工具,测试网站性能

2.1 简介

Apache Bench 是 Apache 服务器自带的一个web压力测试工具,简称ab。ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力。总的来说ab工具小巧简单,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控

2.2 原理

ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力

2.3 Apache Bench安装

Apache服务器,下载地址:https://www.apachelounge.com/download/
选择:httpd-2.4.41-win64-VS16
下载目录结构:
在这里插入图片描述

2.4 Apache Bench 使用

运行环境:Windows7
Apache Bench版本:httpd-2.4.41-win64-VS16

1、进入cmd目录下,进入我们解压好的Apache Bench目录下
在这里插入图片描述
3 使用命令ab -c 10 -n 10 http://www.baidu.com/或者ab.exe -n 1000 -c 500 http://www.baidu.com对百度首页进行一个请求总数为1000,本次请求并发数为500的测试
在这里插入图片描述
参数分析:

C:\Users\Lenovo\Downloads\httpd-2.4.41-win64-VS16\Apache24\bin>ab.exe -n 1000 -c500 http://www.baidu.com/path
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking www.baidu.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requestsServer Software:        Apache			#测试服务器的名字
Server Hostname:        www.baidu.com	#请求的URL主机名
Server Port:            80				#请求端口Document Path:          /path			#请求路径	
Document Length:        222 bytes		#页面大小Concurrency Level:      500				#并发量,设置的参数之一
Time taken for tests:   45.805 seconds	#整个测试所用的时间/秒
Complete requests:      1000			#完成的请求数
Failed requests:        0				#失败的请求数
Non-2xx responses:      1000			#接收到的HTTP响应数据的头信息中含有2XX以外的状态码,则会在测试结果中显示另一个名为“Non-2xx responses”的统计项,用于统计这部分请求数(1000)
Total transferred:      484000 bytes	#表示所有请求的响应数据长度总和
HTML transferred:       222000 bytes	#表示所有请求的响应数据中正文数据的总和
Requests per second:    21.83 [#/sec] (mean)		#吞吐率,吞吐率是与并发数相关的,使请求总数相同,但如果并发数不一样,吞吐率还是很可能有很大差异的
Time per request:       22902.310 [ms] (mean)		#用户平均请求等待时间。也就是一次并发总的时间
Time per request:       45.805 [ms] (mean, across all concurrent requests)		#服务器平均请求等待时间。也就是一次请求(在本例中也就是500中的平均每一次)所需时间
Transfer rate:          10.32 [Kbytes/sec] received		#这些请求在单位时间内从服务器获取的数据长度Connection Times (ms)min  mean[+/-sd] median   max
Connect:        9   46 460.5     11    9060
Processing:    25 20066 13796.4  14798   36549
Waiting:       14 16163 15029.9   8460   36484
Total:         37 20111 13785.1  22804   36562Percentage of the requests served within a certain time (ms)50%  22804 		#50%用户请求在22804ms内返回66%  33043		#66%用户请求在33043ms内返回75%  3418180%  3479190%  3587795%  3641698%  36502		#98%用户请求在36502ms内返回99%  36512100%  36562 (longest request)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

命令参数参考:

-n requests Number of requests to perform //本次测试发起的总请求数-c concurrency Number of multiple requests to make   //一次产生的请求数(或并发数)-t timelimit Seconds to max. wait for responses    //测试所进行的最大秒数,默认没有时间限制。-r Don't exit on socket receive errors.    // 抛出异常继续执行测试任务-p postfile File containing data to POST  //包含了需要POST的数据的文件,文件格式如“p1=1&p2=2”.使用方法是 -p 111.txt-T content-type Content-type header for POSTing//POST数据所使用的Content-type头信息,如 -T “application/x-www-form-urlencoded” 。 (配合-p)-v verbosity How much troubleshooting info to print//设置显示信息的详细程度 – 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。-C attribute Add cookie, eg. -C “c1=1234,c2=2,c3=3” (repeatable)//-C cookie-name=value 对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复,用逗号分割。提示:可以借助session实现原理传递 JSESSIONID参数, 实现保持会话的功能,如-C ” c1=1234,c2=2,c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8″ 。-w Print out results in HTML tables  //以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

2.5 使用注意

1、MAC中自带了Apache。

2、在使用ab命令时,并发了过高会出现错误:Too many open files,由于系统打开文件数量限制了

具有轻量化特点的bench还是很适合中小企业使用,尤其在于模拟访问页面的多机测试

三、JMeter:Apache组织开发的压力测试工具(使用比较多的工具)

3.1 简介

Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一

JDK版本:1.8
运行环境:Windows 7 64
JMeter版本:3.3

注意:安装JMeter需要 Java8和8以上的JDK版本

3.2 JDK安装(如果已经安装JDK 1.8 忽略这一步)

1、jdk官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、选择 Java SE 8u231,点击JDK下载
在这里插入图片描述
3. 安装下载的JDK
4. 配置系统环境变量
具体可以自行查找资料,这里就不做过多描述

3.2 JMeter安装

1、官网下载地址:JMeter地址
2、下载最新JMeter 5.1.1 版本:Apache JMeter 5.1.1 (Requires Java 8+)
在这里插入图片描述

3、下载完成后解压zip包,双击bin目录下jmeter.bat文件
在这里插入图片描述

3.3 JMeter 使用

1、双击bin目录下jmeter.bat文件后,打开Apache JMeter工具
在这里插入图片描述
2、案例测试(Test Plan - > Add - > Thread(User) - > Thread Group)
在这里插入图片描述
3、设置名称和线程数
在这里插入图片描述
线程参数解读:
Number of Threads (users):虚拟用户数(也就是线程数),一个虚拟用户占用一个进程或线程
Ramp-Up Period(in seconds):准备时长,设置的虚拟用户数需要多长时间全部启动。
例如:如果线程数为20,准备时长为2,那么需要2秒钟启动20个线程,也就是每秒钟启动10个线程
Loop Count:循环次数每个线程发送请求的次数
如果线程数为20,循环次数为100,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“Forever”,那么所有线程会一直发送请求,一到选择停止运行脚本。
Delay Thread creation until needed:直到需要时延迟线程的创建
Scheduler:调度器,设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
Duration(Seconds):持续时间(秒),测试持续时间,会覆盖结束时间
Startup delay(Seconds):启动延迟(秒),测试延迟启动时间,会覆盖启动时间

4、添加Http请求

右键点击,Htto请求 > Add > Sampler > Http Request
在这里插入图片描述

接下来我们对接口https://www.baidu.com/s?ie=UTF-8&wd=edg进行性能测试,如下图所示:在这里插入图片描述
请求参数详解:

  • Web Server(Http服务):
    1、Protocol[http]:协议,向目标服务器发送HTTP请求协议,可以是HTTP或HTTPS,默认为HTTP
    2、服务器名称或IP:HTTP请求发送的目标服务器名称(域名)或IP
    3、Port Number:端口号

  • Http Reuqeset(Http请求体):
    1、Method:请求方法类型,有GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等
    2、path:目标URL路径,除去服务器地址、端口和请求参数后所得到的数据
    3、Content encoding:编码方式,设置为 UTF-8

  • 请求参数:
    设置请求参数,都在下面的列表中进行设置,

  • 列表参数解读:
    Name:请求参数名
    Value:请求值
    URL Encode:是否Url编码
    Conten-Type:内容类型,有需要自行调整(一般选择默认即可)
    include Equals:是否包含等于

注意:参数传入中文时需要勾选“URL Encode”

这里的按钮都是针对列表中的数据进行操作的

Detail:查看参数详情
Add:添加一行列表请求参数
Delte:删除一行数据
Up:设置列表参数上移
Down:设置列表参数下移
add from Clipdoard:从我们复制的内容中进行添加
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述
5、添加察看结果树

1、右键点击 Http请求 > Add > Listener > View Results Tree
在这里插入图片描述

2、这里我们设置响应数据格式:HTML Source Formatted,点击运行我们就可以看到请求结果
在这里插入图片描述
3、本次搜索返回结果页面标题为edg_百度搜索
在这里插入图片描述

6、添加用户自定义变量

1、添加用户自定义变量用以Http请求参数化:Http请求 > Add > Config Element > User Defined Variables

在这里插入图片描述

2、新增请求参数,存放搜索关键字
在这里插入图片描述
3、在 Http测试请求 中使用该参数,格式为:${wd} ,如下图所示
在这里插入图片描述
7、添加响应断言

右键点击 Http测试请求(注意是Http测试请求) > Add > Assertions > Response Assertion

在这里插入图片描述
校验返回的文本中是否包含搜索词,添加参数${wd}到要测试的模式中

Contains:包括
Matches:匹配
Equals:相等
SubString:原谅博主才疏学浅,这个就不做解释了
Not:否
or:或者
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

7、添加响应断言结果

右键点击 Http测试请求 > Add > Listener > Assertion Results
在这里插入图片描述
点击运行,查询运行结果
在这里插入图片描述

8、添加聚合报告

右键点击 Http请求 > Add > Listener > Aggregate Report

在这里插入图片描述

到这里我们就完成了一个完整的Http接口的性能测试编写,接下来我们会对它的性能进行测试

3.4 JMeter 性能测试

1、配置Http请求(线程组)信息

点击Http请求(线程组),配置相关的性能测试相关参数
线程数:50
循环次数:永远
持续时间:60秒
在这里插入图片描述

2、执行测试信息

选择聚合报告,查询结构,点击 箭头 按钮启动测试,如果要清楚具体内容,点击小扫把,清除调试结果

在这里插入图片描述

3、测试结果分析解读

1、打开聚合报告
在这里插入图片描述

参数详解:

  1. Label:每个 JMeter 的 element都有一个 Name 属性,这里显示的是 Name 属性的值
  2. #Samples:请求数——表示这次测试中一共发出了多少个请求
    如果模拟10个用户,每个用户迭代10次,那么这里显示100
  3. Average:平均响应时间——默认情况下是单个 Request 的平均响应时间
    当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
  4. Median:中位数,也就是 50% 用户的响应时间
  5. 90% Line:90% 用户的响应时间
  6. 99% Line:99% 用户的响应时间
  7. Min:最小响应时间
  8. Max:最大响应时间
  9. Error%:错误率——错误请求数/请求总数
  10. Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second)
    当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
  11. KB/Sec:每秒从服务器端接收到的数据量

在实际中我们需要关注的点只有——#Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率和Throughput 吞吐量

四、代码模拟

1、Semaphore

Semaphore是计数信号量。Semaphore管理一系列许可证。每个acquire方法阻塞,直到有一个许可证可以获得然后拿走一个许可证;每个release方法增加一个许可证,这可能会释放一个阻塞的acquire方法。然而,其实并没有实际的许可证这个对象,Semaphore只是维持了一个可获得许可证的数量。
在这里插入图片描述
1.1 代码演示:获取一个许可证

import lombok.extern.slf4j.Slf4j;import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;@Slf4j
public class SemaphoreExample1 {private final static int threadCount = 20;public static void main(String[] args) throws Exception {ExecutorService exec = Executors.newCachedThreadPool();final Semaphore semaphore = new Semaphore(3);for (int i = 0; i < threadCount; i++) {final int threadNum = i;exec.execute(() -> {try {semaphore.acquire(); // 获取一个许可test(threadNum);semaphore.release(); // 释放一个许可} catch (Exception e) {log.error("exception", e);}});}exec.shutdown();}private static void test(int threadNum) throws Exception {log.info("{}", threadNum);Thread.sleep(1000);}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

执行结果:如下图所示,我们看到虽然结果是无序的,但是请求的线程数量是正确的,这里展示的是获取一个许可,同时也释放一个许可,我们可不可以获取多个许可,释放多个许可呢,答案是可以的

在这里插入图片描述
1.2 代码演示:获取多个许可证

package com.mmall.concurrency.example.aqs;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;@Slf4j
public class SemaphoreExample {private final static int threadCount = 20;public static void main(String[] args) throws Exception {ExecutorService exec = Executors.newCachedThreadPool();final Semaphore semaphore = new Semaphore(3);for (int i = 0; i < threadCount; i++) {final int threadNum = i;exec.execute(() -> {try {semaphore.acquire(3); // 获取多个许可test(threadNum);semaphore.release(3); // 释放多个许可} catch (Exception e) {log.error("exception", e);}});}exec.shutdown();}private static void test(int threadNum) throws Exception {log.info("{}", threadNum);Thread.sleep(1000);}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

执行结果:这里我们看到我们设置了获取多个许可同时也释放多个许可,放回的线程数是正确的,同时执行结果也是有序的

在这里插入图片描述

2、CountDownLatch

CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。
CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。使用一个计数器进行实现。计数器初始值为线程的数量。当每一个线程完成自己任务后,计数器的值就会减一。当计数器的值为0时,表示所有的线程都已经完成了任务,然后在CountDownLatch上等待的线程就可以恢复执行任务

在这里插入图片描述

2.1 代码演示:


import lombok.extern.slf4j.Slf4j;import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;@Slf4j
public class CountDownLatchExample1 {private final static int threadCount = 200;public static void main(String[] args) throws Exception {int num = 0;ExecutorService exec = Executors.newCachedThreadPool();final CountDownLatch countDownLatch = new CountDownLatch(threadCount);for (int i = 0; i < threadCount; i++) {final int threadNum = i;num++;exec.execute(() -> {try {test(threadNum);} catch (Exception e) {log.error("exception", e);} finally {countDownLatch.countDown();}});}countDownLatch.await();log.info("finish——"+num);exec.shutdown();}private static void test(int threadNum) throws Exception {Thread.sleep(100);log.info("{}", threadNum);Thread.sleep(100);}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

在这里插入图片描述
通过返回结果我们可以看到,设置的线程数量返回结果数量和我们设置的线程数量200一致

五、总结

postMan:非专业的并发测试,严格来说postMan并不是并发请求,而是串行执行的,postMan更多的是用来测试Http连接的一个工具,是一个很实用的工具

Apache Bench:Apache Bench是 Apache 服务器自带的一个web压力测试工具,简称ab,ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控

JMeter:Apache JMeter 是Apache 组织开发的基于java的压力测试工具。用于对软件做压力测试的工具,它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、 数据库, FTP 服务器等等

总的来说,并发测试中,JMeter和Apache Bench是比较好的选择,由于Apache Bench是基于命令行的,ab处理速度更快,而Jmeter更准确,由于Jmeter本身支持断言、可变参数和CSV数据集的输入,能设定更加灵活多变的的测试场景,至于postMan这款工具,用来最多的是用来模拟Http请求的一个,并不是一个专业的并发请求工具。


http://chatgpt.dhexx.cn/article/ZLTmYkuk.shtml

相关文章

并发请求测试工具篇(二) - JMeter

JMeter 是什么 JMeter 是一个开源的 Java 应用程序&#xff0c;用于性能测试和负载测试。它可以模拟多种负载类型&#xff0c;包括静态和动态资源请求&#xff0c;以及各种协议&#xff0c;如 HTTP、HTTPS、FTP、JMS 等。JMeter 还提供了可视化的测试结果报告&#xff0c;以便…

压力测试和并发测试

压力测试 1、压力测试分两种场景&#xff1a;一种是单场景&#xff0c;压一个接口的;第二种是混合场景&#xff0c;多个有关联的接口。 压测时间&#xff0c;一般场景都运行10-15分钟。如果是疲劳测试&#xff0c;可以压一天或一周&#xff0c;根据实际情况来定。 2、压力测试是…

Windows并发测试工具

Apache安装目录cmd 用ab并发测试工具&#xff0c;请求10次&#xff0c;并发为5 ab -n 10 -c 5 http://www.ysbm.com/api.php/task/testBingfa

【多线程高并发】jcstress并发测试工具使用教程详解

1.首先创建一个maven项目 2.引入jcstress-core依赖 <dependency><groupId>org.openjdk.jcstress</groupId><artifactId>jcstress-core</artifactId><version>0.14</version></dependency>3.准备测试代码 import org.openjdk…

性能测试----负载测试、压力测试、并发测试

性能测试&#xff1a;检测一个软件的性能。 性能测试的指标&#xff1a; 响应时间&#xff1a;用户从请求到服务器响应的时间 吞吐量&#xff1a;单位时间内成功地传送数据的数量 并发数&#xff1a;在线并且在操作的用户数 负载测试&#xff1a;加负载&#xff0c;找到让系…

程序猿专属“压测工具”并发模拟

目录 前言 一、Postman 二、Apache Bench&#xff08;AB&#xff09; 三、并发模拟工具JMeter 四、代码模拟 前言 在项目开发中&#xff0c;我们有时候需要测试服务器的抗压和qps&#xff0c;需要同时有多个请求请求同一服务。比如我和你现在都同时在请求百度的服务器提供…

Linux 并发测试工具 httpd-tools工具的安装和使用

1、安装工具 sudo yum -y install httpd-tools2、查看工具安装目录 which ab3、查看版本 ab -V4、测试命令 #例如 ab -n 请求次数 -c 并发数 访问地址ab -n 1000 -c 100 https://www.baidu.com/ 表请求1000次中有100并发今天先分享到这里。谢谢大家评论&#xff01;

JMeter 接口测试/并发测试/性能测试

Jmter工具设计之初是用于做性能测试的&#xff0c;它在实现对各种接口的调用方面已经做的比较成熟&#xff0c;因此&#xff0c;本次直接使用Jmeter工具来完成对Http接口的测试。因为再做接口测试时可以设置线程组&#xff0c;所以也可做接口性能测试。 本篇使用JMeter完成了一…

TCP Socket Client 测试工具,并发测试

TCP协议 Socket客户端测试程序 发送数据支持ASCII与16进制格式 可以模拟并发压力测试 创建终端&#xff0c;然后发送数据 工具下载

高并发测试、压力测试

1.postman没有并发测试&#xff0c;run collection是阻塞操作。 那么怎做并发测试呢&#xff1f; 使用JMeter jmeter可以进行压力测试、并发测试、性能测试&#xff0c;功能挺多&#xff0c;我就看了高并发&#xff0c;有需求请自行研究。 本文分为两步&#xff1a;1.环境安装…

如何测试一个网站的性能(并发数)?

点击打开链接 JMeter网站并发性测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据…

如何进行并发测试

创建步骤&#xff1a; 1、创建线程池&#xff1b; 2、创建线程&#xff0c;执行测试方法&#xff1b; 3、循环提交线程。

并发测试工具Jmeter安装与简单使用

文章目录 一、Jmeter简介二、安装1.下载2.配置环境变量3.启动Jmeter 三、使用1.添加线程组2.添加HTTP请求3.添加HTTP信息头管理器4.添加CSV 数据文件设置5.添加请求参数6.添加察看结果树7.测试 一、Jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具。 二、…

不同性能测试工具的并发模式

大家所熟悉的性能测试工具有Loadrunner、JMeter&#xff0c;以及其他小众一些的工具&#xff0c;如Locust、Ngrinder、Gatling等等&#xff0c;那么你们知道这些工具有什么不同吗&#xff1f;为什么有的工具能模拟数千上几万的并发&#xff0c;有的工具单机只能模拟一两千的并发…

Jmetter并发测试工具使用笔记

前言 Jmetter是一个开源的压力测试工具&#xff0c;常用于Web应用压力测试&#xff0c;本文针使用其对api接口进行并发性能测试&#xff0c;做笔记以备忘。 目录 一、下载和安装 1. Jmetter下载 2.下载并安装java1.8 二、基本配置 1.修改jmeter.properties配置 2.运行说…

高并发测试测试

压力测试概念 压力测试即在一定的硬件条件下&#xff0c;模拟大批量用户对软件系统进行高负荷测试&#xff0c;测试出软件的负荷极限&#xff0c;进而重新优化应用性能或在实际的应用环境中控制风险。常见压力测试工具 &#xff08;1&#xff09;Apache JMeter JMeter作为一款…

Linux脚本查数据库

本篇文章的简介: 1.在开发过程中,我们都会使用Linux,下面介绍使用Linux来查询数据库 2.使用定时器 #!/bin/bash ###!/bin/bash是一个解释器,表示用sh来解释执行你的命令#设置UTF-8export PGCLIENTENCODINGUTF8#查询下的目录data_dir/app/payhome/paytest/xzz#获取年月日时分秒e…

Linux下数据库的安装配置、数据库C程序连接

一、数据库的安装和配置 数据库的安装 配置 &#xff08;1&#xff09;先查看数据库状态(service mysql status)&#xff0c;如果没有启动&#xff0c;执行启动命令(service mysql start) &#xff08;2&#xff09;mysql -uroot -p在root状态执行&#xff0c;进入数据库&…

Linux部署达梦数据库超详细教程

陈老老老板&#x1f9b8; &#x1f468;‍&#x1f4bb;本文专栏&#xff1a;国产数据库-达梦数据库 &#x1f468;‍&#x1f4bb;本文简述&#xff1a;本文讲一下达梦数据库的下载与安装教程&#xff08;Linux版&#xff09;&#xff0c;超级详细。 &#x1f468;‍&#x1f…

linux之database(数据库)一

linux之database&#xff08;数据库&#xff09; 01&#xff1a; 数据库服务概述 、 构建MySQL服务 、 数据库基本管理 、 MySQL数据类型 02&#xff1a; 表结构 、 MySQL键值 03&#xff1a; 数据导入导出 、 管理表记录 、 匹配条件 、 MySQL管理工具 04&#xff1a; 用户授…