下载链接:http://jmeter.apache.org/download_jmeter.cgi

一:如何使用jemeter进行压测

1)稳定性测试就需要长时间运行,其运行时间1天、2天、一周等

2)常规的性能压测大概时长在10-20分钟比较友好

压测设置参数如下:

二:线程属性

1. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。 
2. Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。 
3. 循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。 
4. Delay Thread creation until needed:直到需要时延迟线程的创建。 
5. 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远) 
持续时间(秒):测试持续时间,会覆盖结束时间 
启动延迟(秒):测试延迟启动时间,会覆盖启动时间 
启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。 
结束时间:测试结束时间,持续时间会覆盖它。

线程数、Ramp-UP时间、循环次数之间的关系

三:定时器

当设置1S内完成5个 但是有时候不是真正的1S就完成了5个,那么这个时候需要添加一个定时器,固定多长时间完成多少个线程

四:设置集合点

>Ramp-Up Period 设置0,立马开启发送请求,如果要模拟在一瞬间高并发的时候,很耗测试机器性能,无法支持较大的并发数
>如果Ramp-Up Period 设置1,代表1秒钟启动10个线程,0.5秒钟启动5个,也不算真正的同时10个并发。
----这种情况下,需要设置集合点,达到仿真高并发测试,主要作用是阻塞线程,直到指定的线程数量达到后再一起释放,瞬间产生很大的压力

Number of Simula...: 每集合够多少个用户(线程)后发送请求,确保设置的值不大于它所在线程组包含的用户数(线程数)
>设置为0,等同于设置为线程组中的线程数
>设置为非0,代表达到设置的用户(线程)后,并发执行后续操作
Timout in...:  超时时间,即多少毫秒后同时释放已集结的的线程,发送测试请求
>设置为0,Timer将等待线程数直到达到了Number  of....设置的值后才执行,不够则一直等待
>设置为非0,如果超过了所设置的最大等待时间后,还没有达到Number of..设置的值,Timer将不再等待

五:tps&响应时间

1):tps含义
tps:每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好
响应时间:对请求作出响应所需要的时间也就是每个请求的处理时间
【响应时间=网络传输时间+应用服务器处理时间+数据库服务器处理时间】
2):在jmeter中查看压测报告
jmeter-监听器-聚合报告,主要看以下几项
samples:总共发出多少请求
average:平均相应时间,单位毫秒
Error%:错误率
throughput:吞吐量(等同于tps)

六:添加断言

1:断言添加路径

判断我们返回的文本中是否包含添加的内容,添加参数${"resultCode":"SUCCESS"}要测试的模式中

七:添加断言结果

运行完毕就可以看到断言结果成功与失败

如何使用jemeter进行性能测试的更多相关文章

  1. web service接口测试工具选型

    1  简介 1.1   范围 1.2   目的 本文档用于指导测试部进行接口测试. 2013-03-11磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.com ...

  2. 开源性能测试工具——jemeter介绍+安装说明

    一. Apache JMeter介绍 1. Apache JMeter是什么 Apache JMeter 是Apache组织的开放源代码项目,是一个100%纯Java桌面应用,用于压力测试和性能测量. ...

  3. Jmeter性能测试 及压测入门

    Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 为什么要建立线程组?原因很简单,因为我们要模拟多个线程(用户 ...

  4. 性能测试工具 - Apache JMeter (安装)

    简介 Apache JMeter 是100%纯java语言开发的负载测试和性能测试开源工具. 功能 Apache JMeter可以对静态/动态资源进行性能测试,模拟多个用户并行请求资源端,以测试其强度 ...

  5. 性能测试工具---jmeter

    一.jmeter:简介  Apache jmeter是Apache组织的开发的源代码项目,是一个纯的Java应用,用于压力测试和性能测试,他最初的测试使用于web端的测试,但是后来也被扩展到其他的测试 ...

  6. 【转】java接口的性能测试

    这周尝试了一把性能测试,之前都是测试网站的性能测试,java接口的性能测试还是头一次,学到了很多,特此分享一下. 主要用到了两个性能测试工具,一个是jmeter,一个是LoadRunner. 使用jm ...

  7. jemeter学习-badboy录制与代理服务器录制

    一 基本元素的介绍 1. 添加测试计划 2.添加线程组 线程数---并发数,模拟多少个用户并发 Ramp-up periods ----我们要在多少秒之内进行多少用户的并发 循环次数---可以选择一次 ...

  8. 第1节-认识Jemeter

    1-Jemeter是什么 Apache JMeter是一款100%纯java实现的应用程序,它是开源的.该软件用于测试软件系统或应用程序的功能和性能. 最初设计这个软件的目的是用户测试web应用程序, ...

  9. Ignite性能测试以及对redis的对比

    测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...

随机推荐

  1. 题解 v

    传送门 考场上只会爆搜--觉得重复状态其实有很多但不知道怎么记忆化,结果-- 对于类似这样n不算太小但只有二三十,而重复状态极多的题其实也是可以跑状压/记搜的,状态可以开map存 然后就是爆搜,就没什 ...

  2. sql查询第10条到第20条数据

    select top(10) * from T1 where Id >= (select MAX(Id) from (select top(20) * from T1 order by Id) ...

  3. 多线程同步AutoResetEvent 和ManualResetEvent

  4. C++11 shared_ptr(智能指针)详解

    要确保用 new 动态分配的内存空间在程序的各条执行路径都能被释放是一件麻烦的事情.C++ 11 模板库的 <memory> 头文件中定义的智能指针,即 shared _ptr 模板,就是 ...

  5. 【mysql】索引优化分析

    1. 索引的概念 1.1 索引是什么 MySQL 官方对索引的定义为:索引(Index)是帮助MySQL 高效获取数据的数据结构.可以得到索引的本质:索引是数据结构.可以简单理解为排好序的快速查找数据 ...

  6. Swift- 设置 UILabel 内边距

    摘要 拿来即用短时间效率虽然挺高的,但是拿来的东西没有消化一次,就无法得心应手的使用它. 这次的探索思路就是,查询官方文档,设置不同的值测试单个方法中参数的变化,之后测试两个方法的执行顺序,处理的思路 ...

  7. C# - 习题05_写出程序的输出结果o1.count

    时间:2017-08-24 整理:byzqy 题目:写出下列程序的输出结果: //原题程序如下: class Class1 { private static int count = 0; static ...

  8. ROS catkin_make error Could not find a package configuration file provided by "actionlib_msgs"

    在使用ROS catkin_make编译的时候,出现类似如下错误 CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cma ...

  9. yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:

    使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: 问题出现原因:yum包管理是使用python2 ...

  10. JQ动画

    /* //基本 show([s,[e],[fn]]) 显示元素 hide([s,[e],[fn]]) 隐藏元素 //滑动 slideDown([s],[e],[fn]) 向下滑动 slideUp([s ...