缘由
很多情况下我们写程序过程中只会对固定模块采取并发限制,而且asp.net对于多线程也有他自己的处理机制,尤其对于注重业务,结果导向的团队可能更注重一定时间节点给出满意的产品,但是你的模块到底是否健壮,你心理有谱吗? 大声的告诉我 are you sure? 下面我们通过一个工具来窥探一下.He is Jmeter!
基本简介
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
环境准备
(1)Jmeter是建立在java环境下的,所以你的机器需要安装java环境,我像java组的同事要了一个简要的安装包,安装之后需要配置下环境变量.
(2)Jmeter安装包 http://jmeter.apache.org/
因为博客园对上传文件有大小限制,所以...
java环境:下载地址
Jmeter: 下载地址
基本概念了解
测试计划
线程组
测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。
逻辑控制单元
多种不同的实现,可以决定每个sample的执行顺序。
采样器
可以认为所有的测试任务都由取样器承担,有很种,如:HTTP 请求。
定时器
定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。类似于LoadRunner里面的“思考时间”。JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。
断言
对取样器返回的请求结果给出判断,是否正确。
配置元件
配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改Sampler的默认数据。(例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的cookie 进行管理)
监听器
它的功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。
Getting Started
下面我们通过例子来体会一下Jmeter
测试地址:http://www.cnblogs.com/mongo/p/4623560.html
场景:模拟用户并发请求查看网站负载等参数
(1)运行Jmeter,在安装好JAVA环境的前提下,打开Jmeter安装目录,运行\apache-jmeter-2.13\bin\jmeter.bat
(2)添加线程组
说明:
线程数:我们配置开启了500个线程
Ramp-up Period:设置为0表示在0秒内500线程同时启动完毕
循环次数:总体执行一次
(3)设置控制器
这里我们设置循环控制器,每个线程循环5次Sampler操作
(4)设置采样器Sampler
我们这里用一个博客园的文章地址做测试,简单的请求页面
(5)添加监听listener
为了更好的看到我们的测试结果,需要合适的图形化展示,这里我们添加图形结果和观察结果树
(6)运行结果
(6.1)summary report
请求数量 2500
平均响应时间1185
吞吐量:175.8/s
(6.2)图形结果
(6.3)观察结果树
作者:馒头的梦想
原文链接:https://www.cnblogs.com/mongo/p/4881408.html