性能测试基础和工具介绍-JMeter

本文详细阐述了性能测试的重要性,包括确保用户体验、成本最小化和系统性能评估。介绍了性能测试的概念,如TPS和RT,以及常用工具如Apache JMeter,讲解了其优点和安装设置。此外,还深入讲解了线程组和虚拟用户并发测试,帮助读者理解如何进行实际操作和配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

性能测试概念

1、为什么要做性能测试

* 满足用户的使用需求:当网站访问量大时容易引起崩溃,比如12306、微博、外卖网站等

   做性能测试之后就可以评估这个系统可以承载的用户量或者容量:比如同一时间的并发量

* 最小化成本:新服务器上线不知道要部署多少台

* 评估应用系统性能:给运维做系统容量规划提供依据、给开发提供应用调优的参考

2、什么时性能测试?

*性能测试是模拟多个用户的操作对服务器硬件性能的影响

如何评估性能?

TPS,Transaction per Second,服务器每秒事务处理能力

RT,Response Time,响应时间

 

常见的性能压力测试工具

性能压力测试工具,主要是模拟出来多个/大量用户的请求,对服务器造成一些影响来进行测试

Apache ab:apache http服务器性能测试工具,命令行工具,在电脑上打开终端进行使用

Apache Jmeter:支持多平台,支持多种网络协议:https、http,使用java语言开发,开源工具,具有图形化界面,同时也有命令行方式使用

LoadRunner:仅支持windows系统,支持多种协议,收费软件,使用C语言开发

Locust:支持多种协议,有web界面,开源免费,使用python语言开发

nGrinder:naver公司基于grinder开发的性能测试平台,grinder是一个能运行jython、groovy编写测试脚本的应用程序,免费软件,使用java语言开发

 

JMeter优点

入门简单,有图形调试界面

使用java语言开发,支持多操作系统平台

插件机制,可以二次开发定制协议,可以使用第三方开发者的协议支持

 

JMeter安装

windows环境下安装jmeter

1、安装jdk并设置java环境变量

2、从官网下载Windows的压缩包:

https://jmeter.apache.org/download_jmeter.cgi

3、将下载的文件解压缩,然后进入apache-jmeter-5.4.1\bin文件路径下,以管理员身份运行windows的批处理文件jmeter.bat

启动后在控制台显示如下信息,并且同时会打开jmeter的图形界面

 

JMeter设置

设置HEAP:jmeter.bat

apache-jmeter-5.4.1\bin目录下,编辑jmeter.bat文件,将set HEAP的值设置为符合要求的值

其中-Xms1g表示分配最小内存为1g,-Xmx2g表示分配最大内存为2g

通过jconsole可以查看vm概要,看到相应的heap内存分配有改变:

 

设置HEAP:jmeter.sh

apache-jmeter-5.4.1\bin目录下,编辑jmeter.sh文件,增加一行:JVM_ARGS="-Xms1g -Xmx2g"

其中-Xms1g表示分配最小内存为1g,-Xmx2g表示分配最大内存为2g

通过jconsole的监控平台查看jmeter进程信息,在cmd输入jconsole,打开如下界面

选择ApacheJMeter进行连接,选择不安全连接

在概览里面可以看到已提交的和最大队内存使用量

在vm概要可以查看:

JMeter线程组:

线程组是性能测试的资源调度池,控制性能测试的运行调度、并发数、执行策略等

线程组分类:

setup thread group、thread group、teardown thread group

 

虚拟用户并发测试:

首先,使用python -m http.server 80命令在本地启动一个http的服务

可以通过http://本机IP:80进行访问

因此在Test Plan下创建一个线程组,在线程组下创建一个http的取样器,如下图

http request:输入Server name or ip信息,由于协议和端口都是默认的,所有不用填写,如果不为默认的http和80端口,则根据实际情况填写

在Tread group中,以下几个参数可以根据实际压测进行设置

Number of Treads:模拟并发的用户数

Ramp-up period:在多长时间把模拟的用户数模拟发送出去(我是这么理解的,比如我要模拟50个用户,时间周期是5s,那么每秒jmeter会模拟10个并发用户去访问)

loop count:循环次数,infinite表示永远

Duration:持续时间,如果循环设置为永远,那么持续时间设置后,到达持续的时间后会自动停止,否则需要用户手动停止

Startup delay:延迟启动的时间

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值