开始学习jmeter的使用,以后会一步步的写出来,记录自己的成长之路,也希望对跟我一样初学者有些帮助。
温馨提示:默认在window环境下,jmeter GUI可视窗口
第一步、官方下载jmeter并解压,点击下载
第二步、检查Java环境,建议安装jdk1.7或更高版本
第三步、找到bin目录下的jmeter.bat,双击打开可视GUI界面
第四步、编写demo脚本
DEMO
访问我的博客:http://blog.csdn.net/huashao0602
1、添加线程组
线程数:虚拟用户数,一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数
Ramp-Up Period(in seconds):设置的虚拟用户数需要多长时间全部启动。如果线程数为10 ,Ramp-Up Period为100,那么就是100秒钟内启动10个线程。每一个线程都会在上一个线程启动10秒钟后才开始运行;设置为0则表示同时启动(注:Ramp-Up Period(in secods)不能设置太小的数值,否则会一开始就给服务器过大的压力;也不能设置太大的数值,否则第一个线程已经执行完了,最后一个还没启动的情况)刚开始Ramp-Up值可以等于总线程数,之后再作调整
循环次数:每个线程发送请求的次数,如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
启动时间:线程运行的起始时间
结束时间:线程运行的结束时间
持续时间:设置了持续时间则启动时间会失效
启动延迟:设置了启动延迟则结束时间会失效
线程数1000循环1次与线程数10循环100次的区别:线程数1000循环1次可以选择并发;线程数10循环100次是类似于长时间施加压力
2、添加HTTP请求并设置
网址中域名后面没有端口时,使用的是默认端口:http 默认端口80,https默认端口443 (端口号参数,不填为默认端口)
3、添加http信息头管理器并设置
csdn只接受浏览器发的请求,所以要用到浏览器头信息( 不加这个头,csdn返回403的哦,响应被拒)
下面是pythom脚本里常用的,你可以选择一个拷贝过去
my_headers = [
'Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30',
'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)',
'Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.9.168 Version/11.50',
'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)']
header = {"User-Agent": random.choice(my_headers)}
4、添加查看结果树
点击查看结果
提示:
1. html响应可以选择html格式,响应数据可视化了(调试必备组件)
2.正式测试的时候请勾选仅日志错误,仅记录出错的请求,以免保存多了,jmeter jvm oom(内存溢出),这点要谨记
5、添加聚合报告
提示:
tps(吞吐量)表征系统性能,系统的好坏可以用这个评估
90%Line是满足需求响应时间的重要指标,如果用户需求说是响应时间不小于5s,那么这个5秒就是90%Line(并非平均响应时间哦)(要求高的系统,可以选择95%Line【其余5%高响应时间可以理解为小概率事件,一般用户不容易触发】)
个人心得:学东西别管后面要用到什么技术之类的,拿起来就是干,等需要的时候学就是