压测软件Jmeter使用实例(WIN7环境)百科我们为什么使用JmeterJmeter安装配置Sampler监听器(Listener)点击启动按钮,开启测试Jmeter自定义变量Redis的压测

百科

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言

我们为什么使用Jmeter

  • 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件
  • 支持接口测试,压力测试等多种功能,支持录制回放,入门简单
  • 相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试
  • 多平台支持,可在Linux,Windows,Mac上运行

Jmeter安装配置

登录 http://jmeter.apache.org/download_jmeter.cgi ,根据自己平台,下载对应文件

image.png

将下载Jmeter文件解压,打开/bin/jmeter.bat

image.png

打开后如图效果显示

新建线程组

线程组( Threads (Users))

  • 理解:一个虚拟用户组,线程组内线程数量在运行过程中不会发生改变。
  • 注意事项:线程间变量相互独立。一个测试计划内可以包含多个线程组。
  • 可定义内容: 取样器错误后执行的操作:继续,启动下一个线程,停止线程,停止测试,立刻停止 线程属性:线程数,启动间隔时间(s)(n s内启动所有线程),单线程循环次数,线程执行顺序,是否使用调度器。 调度器配置:持续时间,启动延迟,启动时间,结束时间 本实例基本设置如下

为该线程组添加HTTP请求默认值

其中

配置元件(Config Element)

理解:为测试提供数据支持的控件

HTTP请求默认值

把测试计划中所有的HTTP请求的默认配置放到HTTP请求默认值中。 把重复的内容提取出来,只需要定义一次就可以了 协议,服务器或IP地址,端口号

HTTP请求默认值

  • 出现在测试计划下面,那么该配置会影响测试计划下的所有HTTP请求取样器
  • 出现在线程组中,那么其影响范围是线程组。

Sampler

理解:请求,设置不同的request

HTTP请求

理解:就是一次HTTP请求

本实例该配置如下

监听器(Listener)

理解:查看请求执行结果的控件

聚合报告

image.png

参数含义:

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 per Second 数 KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

图形结果

image.png

参数含义:

样本数目:总共发送到服务器的请求数。 最新样本:代表时间的数字,是服务器响应最后一个请求的时间。 吞吐量:服务器每分钟处理的请求数。 平均值:总运行时间除以发送到服务器的请求数。 中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。 偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。 注意事项:图形结果本身会影响Jmeter的性能

点击启动按钮,开启测试

可见TPS还是很低的

image.png

Jmeter自定义变量

配置文件

image.png

Redis的压测

自带的压测工具

检验服务启动状态

执行redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000命令后

可以看出redis的QPS之高

redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100

只测试set,lpush命令

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏漫漫前端路

写个 vue-loading-template 组件

源码(star ? start : start):github.com/jkchao/vue-…

3902
来自专栏用户2442861的专栏

使用ThinkPHP框架快速开发网站(多图)

http://blog.csdn.net/ruby97/article/details/7574851/

2.2K2
来自专栏Jack-Cui

Jetson TX1开发笔记(三):开发利器-Nsight Eclipse Edition

PC平台(Host): 虚拟机Ubuntu14.04 嵌入式平台(Target): Jeston TX1 一、NSight简介     Jetpack开...

2945
来自专栏智能算法

Jupyter notebook使用指南

一、Jupyter介绍 Jupyter Notebook是以web交互式的编程接口,是IPython notebook的升级版本。主要是针对python,另外...

2.4K8
来自专栏FreeBuf

负载恶意软件HawkEye的VB Inject样本分析

恶意软件HawkEye的利用大多都是通过钓鱼邮件分发,利用office直接启动HawkEye主体或者一些经过加密的程序,本文中的VB Inject属于后者,也把...

841
来自专栏Sorrower的专栏

内核必须懂(一): 用系统调用打印Hello, world!

1625
来自专栏信安之路

新手指南:Bwapp之XSS –stored

XSS 全称:跨站脚本( Cross Site Scripting ),为了不和层叠样式表( Cascading Style Sheets )的缩写 CSS 混...

1150
来自专栏JavaEdge

漫谈缓存更新之道

许多人在更新缓存时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载入缓存中。

2132
来自专栏运维

服务稳定性及应用防护方案

日志收集推荐使用Elastic Stack协议栈,可以满足收集海量日志需求,而且便于后续分析、报表、报警操作

1141
来自专栏前端儿

【转】http-equiv="X-UA-Compatible" 设置IE浏览器兼容模式详解

文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。

2861

扫码关注云+社区

领取腾讯云代金券