Meter是开源软件Apache基金会下的一个性能测试工具,用来测试部署在服务器端的应用程序的性能。html
JMeter能够在JMeter的官方网站下载,目前能下载的是JMeter 4.0,可看到安装这个要求电脑有安装java8或者java9java
安装以前先下载其安装包,这里是下载地址。可根据本身的需求下载对应版本,我这里下载的是java9,X64。下载以后双击安装便可。apache
进入刚才下载的jmeter解压目录下,点击jmeter.bat服务器
打开的界面以下:oracle
这里以访问百度做为例子工具
以下图所示,右击“testplan(测试计划)”>add>Threads(Users)>Thread Group(线程组)。线程组的意思:JMeter是由Java实现的,而且使用一个Java线程来模拟一个用户,所以线程组(Thread Group)就是指一组用户的意思,换句话说一个线程组就是一组虚拟用户(virtual users),这些虚拟用户用来模拟访问被测系统。oop
线程组设置:性能
1)Number of Threads(users)(线程数):这里就是指虚拟用户数,默认的输入是“1”,则代表模拟一个虚拟用户访问被测系统,若是想模拟100个用户,则此处输入100。测试
2)Ramp-Up Period (in seconds): 虚拟用户增加时长。好比你测试的是一个考勤系统,那么实际用户登陆使用考勤系统的时候并非你们喊一、二、3 - 走起,而后一块儿登陆。实际使用场景多是9点钟上班,那么从8:30开始,考勤系统会陆陆续续有人开始登陆,直到9:10左右,那么若是彻底按照用户的使用场景,设计该测试的时候此处应输入40(分钟)* 60(秒)= 2400。可是实际测试通常不会设置如此长的Ramp-Up时间,缘由嘛,难道你作一次测试要先等上40分钟作登陆操做?通常状况下,能够估计出登陆频率最高的时间长度,好比此处可能从8:55到9:00登陆的人最多,那这里设置成300秒,若是“线程数”输入为100,则意味着在5分钟内100用户登陆完毕。网站
3)Loop Count(循环次数):每一个线程发送请求的个数。若是线程数为20 ,循环次数为100 ,那么每一个线程发送100次请求。总请求数为20*100=2000 。若是勾选了“永远”,那么全部线程会一直发送请求,直到手动点击工具栏上的中止按钮,或者设置的线程时间结束。
右击“Thread Group” > “add” > “Sampler” > “HTTP Request”
设置HTTP Request页面的属性
1)name:输入“百度”,就是被测试网页的描述性文字
2)server name or IP:被测服务器的网站名字,也能够是IP地址。剩下的属性能够按照被测系统的属性按需配置,如今均可觉得空。
该页面设置说明:
name(名称):本属性用于标识一个取样器,建议使用一个有意义的名称。
comments(注释):对于测试没有任何做用,仅用户记录用户可读的注释信息。
protocol(http)(协议):向目标服务器发送HTTP请求时的协议,能够是HTTP或者是HTTPS ,默认值为http 。
server name or IP(服务器名称或IP) :HTTP请求发送的目标服务器名称或IP地址。
port number(端口号):目标服务器的端口号,默认值为80 。
method(方法):发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
path(路径):目标URL路径(不包括服务器地址和端口)
Content encoding :内容的编码方式,默认值为iso8859
自动重定向:若是选中该选项,当发送HTTP请求后获得的响应是302/301时,JMeter 自动重定向到新的页面。
Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通讯,默认选中。
Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。
同请求一块儿发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户能够将URL中全部参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。
若是没有勾选Log Viewer是看不到运行日志的
若是以为logo viewer不够直观,能够添加结果监听器查看:右键Tread Group ->ADD->Listener->View
以下操做可查看每个请求的结果: