秒杀JMeter压力测试

本文介绍了如何使用Apache JMeter进行压力测试,包括JMeter的安装配置、测试计划创建,以及针对秒杀场景的模拟测试。在100用户并发访问下,系统响应时间为2.295秒,无错误。但在高并发情况下,发现秒杀系统存在库存减为负值的安全问题。
摘要由CSDN通过智能技术生成

1. JMeter介绍

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。

2.JMeter安装与配置

1)因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境,有关JAVA环境的配置在这就不详细说了,可以去oracle官网下载JDK:https://www.oracle.com/technetwork/java/javase/downloads/index.html

3.JMeter下载与使用

1.JMeter下载地址: http://jmeter.apache.org/
在这里插入图片描述
2.解压下载的二进制包,使用cmd命令进入bin目录,使用jmeter.bat启动程序。(注意直接双击jmeter.bat无法启动时需要使用Window+R,输入cmd,然后进入bin目录如下)
在这里插入图片描述

4.创建测试

1.创建线程组
在“测试计划”上右键 【添加】–>【Threads(Users)】–>【线程组】。
在这里插入图片描述
2.设置线程数和循环次数。我这里设置线程数为500,循环一次。
在这里插入图片描述
3.配置元件,在我们刚刚创建的线程组上右键 【添加】–>【配置元件】–>【HTTP请求默认值】。
在这里插入图片描述
4.配置我们需要进行测试的程序协议、地址和端口
在这里插入图片描述
4.添加察看结果树和聚合报告
在我们刚刚创建的线程组上右键 【添加】–>【监听器】–>【察看结果树】。添加聚合报告,右键 【添加】–>【监听器】–>【聚合报告】。

直接添加,然后点击运行按钮就可以看到结果了。

结果树分析:
在这里插入图片描述
测试结果:
1)50个用户同时访问企业用户会议室预定页面,平均响应时间是0.146秒,最大的响应时间0.387秒,最小的响应时间是0.096秒,错误率为0。
在这里插入图片描述
2)100个用户同时访问企业用户会议室预定页面,平均响应时间是2.295秒,最大的响应时间8.132秒,最小的响应时间是0.425秒,错误率为0。
在这里插入图片描述
下面做一个详细的压力测试
1,启动系统,先生成1000个用户并且存储至数据库:

public class UserUtil {
   
 
 private static void createUser(int count) throws Exception{
   
  List<MiaoshaUser> users = new ArrayList<MiaoshaUser>(count);
  //生成用户
  for(int i=0;i<count;i++) {
   
   MiaoshaUser user = new MiaoshaUser();
   user.setId(13000000000L+i);
   user.setLoginCount(1);
   user.setNickname("user"+i);
   user.setRegisterDate(new Date());
   user.setSalt("1a2b3c");
   user.setPassword(MD5Util.inputPassToDbPass("123456", user.getSalt()));
   users
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于使用JMeter进行秒杀功能压测,你可以按照以下步骤进行操作: 1. 安装JMeter:首先,确保你已经安装了JMeter。你可以从JMeter的官方网站(https://jmeter.apache.org/)下载最新版本的JMeter。 2. 创建线程组:在JMeter中,创建一个线程组,代表模拟的用户数量。你可以设置线程数、循环次数、启动延迟等参数。 3. 添加HTTP请求:在线程组中,添加一个HTTP请求,用于发送秒杀请求。你需要指定目标URL、请求方法(如POST或GET)以及请求头、请求参数等。 4. 添加定时器:如果需要模拟秒杀高峰期的并发请求,可以在HTTP请求之前添加一个定时器,并设置合适的延迟时间。 5. 断言验证:为了确保秒杀功能正常运行,你可以添加断言来验证响应结果是否符合预期。例如,检查响应状态码、响应时间、响应内容等。 6. 配置监听器:为了收集和分析压测结果,可以添加监听器。JMeter提供了多种监听器,如聚合报告、图形结果等。 7. 配置并发用户数量:根据你的需求,调整线程组中的并发用户数量,以模拟真实场景下的压力。 8. 运行压测:保存并运行你的测试计划,观察压测过程中的性能指标和响应结果。 注意事项: - 在进行秒杀压测前,确保你已经了解目标系统的架构、性能特点和限制,并与应用开发人员进行充分沟通。 - 压测过程中可能对目标系统造成较大负载,请谨慎操作,避免对生产环境造成影响。 - 根据实际情况,可能需要使用JMeter的插件或自定义脚本来模拟更复杂的秒杀场景。 - 如果需要进行更大规模的压测,可以考虑使用分布式架构来部署JMeter,并利用多台机器来模拟更多的并发用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值