• 2
  • 2
分享

缘由

很多情况下我们写程序过程中只会对固定模块采取并发限制,而且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: 下载地址

基本概念了解

图1.png

测试计划 

图2.png

线程组

测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。

图3.png

逻辑控制单元

多种不同的实现,可以决定每个sample的执行顺序。

图4.png

采样器

可以认为所有的测试任务都由取样器承担,有很种,如:HTTP 请求。

图5.png

定时器

定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。类似于LoadRunner里面的“思考时间”。JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。

图6.png

断言

对取样器返回的请求结果给出判断,是否正确。

图7.png

配置元件

配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改Sampler的默认数据。(例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的cookie 进行管理)

图7.1.png

监听器

它的功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。

Getting Started

下面我们通过例子来体会一下Jmeter

测试地址:http://www.cnblogs.com/mongo/p/4623560.html

场景:模拟用户并发请求查看网站负载等参数

(1)运行Jmeter,在安装好JAVA环境的前提下,打开Jmeter安装目录,运行\apache-jmeter-2.13\bin\jmeter.bat

图8.png

(2)添加线程组

图9.png

图10.png

说明:

线程数:我们配置开启了500个线程

Ramp-up Period:设置为0表示在0秒内500线程同时启动完毕

循环次数:总体执行一次

(3)设置控制器

图11.png

这里我们设置循环控制器,每个线程循环5次Sampler操作

(4)设置采样器Sampler

我们这里用一个博客园的文章地址做测试,简单的请求页面

图13.png

图14.png

(5)添加监听listener 

为了更好的看到我们的测试结果,需要合适的图形化展示,这里我们添加图形结果和观察结果树

图15.png

图16.png

(6)运行结果

(6.1)summary report

图17.png

请求数量 2500

平均响应时间1185

吞吐量:175.8/s

(6.2)图形结果

图18.png

(6.3)观察结果树

图19.png

图21.png


作者:馒头的梦想

原文链接:https://www.cnblogs.com/mongo/p/4881408.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在奇瑞昨日晚间举行的“讯飞星火认知大模型首搭星纪元 ES”发布会上,奇瑞汽车执行副总经理、汽车工程技术研发总院院长高新华接受 21 世纪经济报道采访,对奇瑞与华为的合作进行正面回应。  高新华表示,当日首发亮相的星途星纪元品牌车型主打舒适,相当于电动化的“奔驰”,而奇瑞与华为合作打造的新品牌 LUXEED 智界,则相当于电动化的“宝马”,两个品牌将针对不同人群。  奇瑞汽车今年 4 月重新梳理旗下品牌,形成奇瑞、捷途、星途和 iCAR 四大品牌布局。IT之家此前报道,奇瑞与华为的“baby”已经在工信部完成申报,悬挂 LUXEED 车标,车型名称为智界 S7。  工信部数据显示,这款新车拥...
            0 0 1110
            分享
          • 摘要:我们希望在划分我们的测试时,我们将考虑所有的场景,但是太容易忽略不常用的用例。这就是随机测试生成器的好处。我们可能在测试几十个测试用例后感觉很舒适;这些工具能生成几百个。随着更多的东西被扔到墙上,一些有趣的东西更有可能被粘在墙上。在第一个尝试FsCheck和基于属性的测试后,我恼火了。Haskell编程语言已经存在一段时间了,然而我从来不用它。吸引我注意的是一个名为QuickCheck的工具和它引进的算法。因为我一直工作在.NET领域,我采选用FsCheck做研究,一个F#端口的QuickCheck。我的恼火来自于演示list集合的属性。当我们反转一个列表,然后再反转一次,我们希望得到初...
            0 1 1446
            分享
          •   rf(即robotframework)是自动化测试常用的框架之一,在前端自动化测试中常与webdriver驱动器,以及rf的selenium2library库搭配使用。selenium2library提供的open browser,close browser,click element……等关键字方便了广大测试人员编写前端自动化用例。  编写前端自动化用例的首要原则即是模仿用户的习惯,在浏览器上进行各种“点击”、“下拉”、“滑动”等操作验证浏览器返回的响应是否与用户期望一致。但是,往往在前端自动化测试过程中会遇到进行浏览器设置从而使得测试用例更快、更稳定运行的情形。例如:设置浏览器避开ht...
            14 14 1484
            分享
          •   身处在IT这个行业,时不时就能听到别人说:“我们这行过了35岁就不好做了”。  为什么不好做了,是不是我们做测试、开发的人过了35岁就没有出路了?  其实不然,事事无绝对,一切全靠自己。  35岁是道坎没错,也许我们会有家庭上的烦恼,会有孩子学习教育上的苦恼和担忧。但这不是我们这一行不行的理由。  只要我们还是健康的,我们就可以继续做下去,年龄也只不过是一个数字而已。  那些过35岁的测试和开发们  从运维人员到业务线总经理,他成功迈过35岁的坎  这是我的一个前同事,我刚进公司的时候他和我是一个组,是我们测试组的运维人员,而在我离开这家公司的时候,他已经是我们业务线总经理了,分管我们那个...
            0 0 1096
            分享
          •   今年刚接触了(功能)测试工程师的面试工作,有遇到对信贷业务流程较熟悉的、工作内容纯测试App功能的、什么都接触过但是不够深入的,发现简历上写的东西和实际真的有点差距,面试也是一个艺术活。  为了更好地考察面试者的能力,让面试工作更加有条理,总结了下我考虑的几个方面:沟通能力、测试基础和技能、业务能力、测试思维、学习能力。  基本的逻辑能力、表达能力  这个不用特意考察,观察面试者在表达的时候条理是否清晰,逻辑性强不强,是简洁明了还是一大堆无关紧要的让人抓不住重点。  对项目流程的了解  一个完整的项目流程是什么,测试工作从哪里开始介入到哪里结束,每个步骤中测试工程师的职责是什么?  如果该...
            0 0 945
            分享
      • 51testing软件测试圈微信