Apache JMeter 记一次使用HTTP工具POST提交JSON数据进行送积分高并发压测(二)

一、前言

  前面文章已经介绍Apache JMeter的基本概率和如果使用,但作为一个开发人员,自己写的代码都应该要好好的COD EREVIEW,好好的自测吧。但是有些场景比如高并发、负载和性能测试的时候,不借助工具是不好进行测试的。Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试,因此也建议大家使用这款工具进行测试,比如秒杀、高并发下送券送积分活动等。代码层面咱再另外分析,实际场景可定会更加复杂,这里先分享下自己的一次完整的测试用例。有不对的或者错误的地方还希望大家指正。


二、准备工作

  2.1 新增一个测试积分,输入名称后点击保存到一个地方,我这里选的D盘
    

 

  2.2  新增一个线程组命名并保存
    

 

  2.3  新增一个默认的HTTP Cookie 管理器,如果是服务器要验证登录信息等,可以添加对应的会员登录信息。
    

 

  2.4 新增HTTP信息头管理器!参数Content-Type:application/json,表示你的POST请求是JSON格式的
    

 

  2.5 HTTP请求默认值,这个管理器可以添加多个的,发起时可以组合成一个,非常方便
    

 

  2.6 添加HTTP请求以及相应的监控器,这里因为配置了默认的HTTP默认参数,所有HTTP请求这里可以不填.
    

  2.7 设置用户领取积分限额,这个在自己的代码层设置

    point.setMaxTotalLimit(Long.valueOf(100000)); //总发送积分数
    point.setMaxLimit(Long.valueOf(1000)); //每人最大领取数
    point.setNumPerDay(Long.valueOf(10)); //每人每天最大领取数
    point.setPoint(1); //单次发放积分数

三、测试结果

  3.1 图形监听结果
    

  3.1 http请求监听查看树结果
    

  3.1 Summary Report看板
    

 

  3.1 数据库查看成功领取积分数记录,这里查到正确领取次数为10次,并没有出现超发的情况!
    

 

四、总结

  4.1 乱码问题,如果出现返回结果乱码问题,可以在D:\apache-jmeter-3.2\bin目录下的jmeter.properties文件 把sampleresult.default.encoding=UTF-8
    

    

  4.2 Summary Report监听器相关参数解释:

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

 

转载于:https://www.cnblogs.com/molao-doing/articles/7205275.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253980.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT pro文件详解

1.QT pro文件配置项说明 注释:注释是从一行的#开始,到这一行的结束。QT :这个是添加QT项目需要的模块的,若项目中要排除某个模块,也可用QT -配置项。TEMPLATE : 这个配置项确定qmake为这个应用程序生成哪种makefile …

可伸缩视频编码svc

可伸缩视频编码(Scalable Video Coding, SVC)技术把视频信号编码成分层的形式,当带宽不足时只对基本层的码流进行传输和解码,但这时解码的视频质量不高。当带宽慢慢变大时,可以传输和解码增强层的码流来提高视频的解码…

【vim】几种模式的切换

很多初学者启动vim后,不知道怎么输入字符:按了半天字母,结果屏幕还是空的。 vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式。 vim一共有4个模式: 正常模式 (Normal-mode) 插入模…

数据结构----顺序表与单链表(JAVA)

下面为学习顺序表和单链表的一些基本操作函数&#xff1a; 1 public class SeqList<T> extends Object {2 protected int n;3 protected Object[] element;4 5 public SeqList(int length) {6 this.element new Object[length];7 this.n 0…

SSH初体验系列--Hibernate--1--环境配置及demo

最近在学hibernate,常见的教程都是搭配mysql,因为公司本地电脑用的是pg,所以就尝试着做个pg的小demo. 自己也是边学边写&#xff0c;只当是加深印象.话不多说&#xff0c;直接开始; 一) 准备工作; 1) 本地安装postgresql ,这个不多说&#xff0c;自己去网上下载; 注: 本次使用的…

Qt学习:QAction系列详解

一、QAction类详解 【详细描述】 QAction类提供了抽象的用户界面action&#xff0c;这些action可以被放置在窗口部件中。 应用程序可以通过菜单&#xff0c;工具栏按钮以及键盘快捷键来调用通用的命令。由于用户期望每个命令都能以相同的方式执行&#xff0c;而不管命令所使用的…

H.264优秀特征

一、主要特性 1、H.264/AVC相对以前的编码方法&#xff0c;以MPEG-2为例&#xff0c;在图像内容预测方面提高编码效率&#xff0c;改善图像质量的主要特点如下&#xff1a; ● 可变块大小运动补偿&#xff1a; 选择运动补偿大小和形状比以前的标准更灵活&#xff0c;最小的…

Linux 文件系统 EXT4 的前世今生

在先前关于Linux文件系统的文章中&#xff0c;我写了一份说明书去介绍Linux文件系统&#xff0c;里面有一些高级的概念&#xff0c;比如说&#xff0c;一切都是文件。我很想去深入地讨论更多EXT文件系统的特性的信息。所以&#xff0c;首先让我们来回答这个问题&#xff1a;什么…

windows 添加开始菜单

C:\Users\用户名&#xff08;为你设置的电脑名称&#xff09;\AppData\Roaming\Microsoft\Windows\Start Menu C:\ProgramData\Microsoft\Windows\Start Menu 注&#xff1a;默认状态下AppData和ProgramData文件夹为隐藏状态&#xff0c;所以要查看需要先显示隐藏的文件。 具体…

awesome-go:很全的go语言资源合集

awesome-go:一个很全的go语言框架&#xff0c;库&#xff0c;软件合集 前面发过关于awsone-python, awsone django&#xff0c; flask。最近在学习golang&#xff0c;所以找到awsone-go 非常赞的go语言 Audio & 音乐类安全认证 & OAuthCUI数据库数据库驱动日期时间Emai…

zabbix监控系列(5)之通过trap模式监控网络设备

转载于:https://www.cnblogs.com/liaojiafa/p/7216749.html

struts2框架下的一个简单的ajax例子

举个例子 jsp页面&#xff1a; <% page language"java" import"java.util.*" pageEncoding"utf-8"%> <% String path request.getContextPath(); String basePath request.getScheme()"://"request.getServerName()":…

C语言的指针初始化特别注意一点

void func2(int *value) { *value 2; /// value为空指针&#xff0c;不能被取值&#xff0c;所以*value是错误的 } void func1() { int *p 0;//此处相当于PNULL func2(p); } / void func2(int *value) { *value 2; /// 正确} void func1() { int a0; int *p &…

小程序—九宫格心形拼图

说明 前几天在朋友圈看到好几次这种图片。 这种图片&#xff0c;是用九张图片拼成的一个心形。 感觉很有趣&#xff0c;就上网查了查怎么做&#xff0c;大部分的说法就是用美图秀秀的拼图功能来做&#xff0c; 在微信小程序中也有专门做心形拼图的小程序&#xff0c;我都试了试…

第二部分:志愿录取标准

第二部分&#xff1a;志愿录取标准 零、概况一、传统志愿录取过程二、平行志愿录取过程三、17年志愿录取过程 零、概况自1977年&#xff0c;恢复高考以来&#xff0c;高考录取标准&#xff0c;作为公平线&#xff0c;都是相当透明的。这部分分享&#xff0c;以录取标准&#xf…

100. Same Tree

Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally identical and the nodes have the same value. 递归遍历左子树和右子树 /*** Definition for a binary tree node.* struct T…

关于RTP时间戳及多媒体通信同步的问题/H264关于RTP协议的实现

http://www.rosoo.net/a/201101/10776.html http://hi.baidu.com/fairygardenjoy/blog/item/e56c5cca95829e37b600c88e.html H264关于RTP协议的实现:http://www.rosoo.net/a/201108/14896.html RTP协议包头的格式&#xff1a; 10~16 Bit为PT域&#xff0c;指的就是负载类型…

程序员懂点经济学-股票投资

2019独角兽企业重金招聘Python工程师标准>>> ▍写在前面 前面有文章 关于程序员如何赚点小钱 讲过 合理的投资理财&#xff0c;可以了解一下. 再次建议&#xff0c;不要将全身家当投入股市&#xff0c;建议投入10~30%就好了. (不要拿输不起的钱来炒股&#xff0c;比…

彻底弄懂响应式设计中的em和rem

前一阵子在响应式开发中遇到了em和rem的问题&#xff0c;也上网搜过一些文章&#xff0c;篇幅很长&#xff0c;也没有仔细看&#xff0c;今天来总结一下。 rem是指&#xff1a;根元素&#xff08;root element&#xff0c;html&#xff09;的字体大小&#xff0c; em是指&#…