Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
安装&运行
请先安装jdk1.8;
JMeter下载:https://jmeter.apache.org/download_jmeter.cgi
mac:解压,进入bin目录,执行./jmeter.sh
windows:解压后进入bin目录,双击jmeter.bat
便可打开jmeter,JMeter如下图
线程组操作详解
线程组说白了就是模拟多个用户,同时或者有顺序的去执行任务。一个线程组可设置多个线程,每个线程之间互不影响。在服务器的并发测试有着非常重要的作用。其中,每个线程的执行,操作的变量都不会影响其他线程的变量值。
关于线程组的操作步骤如下:
鼠标右键测试计划 -> 添加 -> Threads(Users) -> 线程组
1、在取样器错误后要执行的动作
继续(continue):忽略错误,继续执行操作
Start Next Thread Loop:忽略错误,线程当前循环终止,执行下一个循环
停止线程(Stop Thread):停止当前线程,其他线程不受影响
停止测试(Stop Test):当前执行的采样器结束后,停止整个测试计划
Stop Test Now:立即停止整个测试计划
2、线程属性
线程数(Number of Threads(Users):当前线程数量,可以简单的理解为用户数量。
Ramp-up Period (in seconds):达到上面指定线程数所花费的时间,单位为秒。举个栗子:假设线程数为100个,花费时间20s,那么每秒启动的线程数 = 线程数/时间,即100/20 = 5。换句话说,就是1秒启动5个线程。
循环次数(Loop Count):勾选“永远”选项,则线程组一直循环。否则,以后面所填数量为准。
Delay Thread creation until needed:当线程需要执行的时候,才会被创建。如果不勾选此选项,所有线程在开始时就全部被创建。
调度器(Scheduler):勾选此选项,才可修改下面的调度器配置。
3、调度器配置
持续时间(秒)(Duration (seconds)):整个测试计划持续的时间。(优先于后面的结束时间选项)
启动延迟(秒)(Startup delay(seconds)):测试计划启动后,会被延迟启动,时间为选项填入的时间。(优先于后面的启动时间选项)
启动时间:整个测试计划将于此处填写的时间点启动
结束时间:整个测试计划将于此处填写的时间点结