发表于: 2017-06-15 22:53:10
1 1119
今天完成的:
使用JMeter测试接口
安装Memcached
遇到问题:
用jmeter执行查询首页的时候没问题,执行登录操作会报错,但是我在浏览器登录和postman测试都是没问题的。
收获:
Jmeter工具和其他性能工具在原理上完全一致,工具包含4个部分:
(1)负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为。
(2)用户运行器:通常是一个脚本运行引擎,用户运行器附加在线程或进程上,根据脚本要求模拟指定的用户行为。
(3)资源生成器:用于生成测试过程中服务器、负载机的资源数据。
(4)报表生成器:根据测试中霍地的数据生成报表,提供可视化的数据显示方式。
官网下载JMeter,解压后直接在bin目录下打开jmeter
然后就是添加线程组了
这里Threads (Users)线程 用户有三个选项:
1.setUp Thread Group用于执行预测试操作,线程执行测试前进行定期线程组的执行。
2. teardown thread group. 用于执行测试后操作,线程执行测试结束后执行定期的线程组。
3.这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。
下面是取样器Sampler 用于性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,Sampler有多种类型,可以根据设置的参数向服务器发出不同类型的请求,测试接口选用HTTP请求
监听器用来对测试结果数据进行处理和可视化展示的一系列元件。 图行结果、查看结果树、聚合报告,都是经常用到的元件。
线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。
线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。
循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
下面👇填写需要测试的ip地址,可以是本地的也可以是web服务器ip,端口选择自己的,方法我选get查询页面,路径填目标URL路径,这里是查询index这个页面,
Content encoding是编码
聚合报告分析
安装memcached
使用brew install memcached命令安装memcache,从日志可以看到
- 安装 memcached 前,先安装了其所依赖的 libevent 库
- 下载的libevent和memcached,被安装到/usr/local/Cellar下面,但是又自动在/usr/local/bin下面建立了软连接,方便使用。
安装后查看结果
明日计划:
- 2.加上Memcache,在新建数据的时候同时维护好缓存(没有新建数据接口就自己加上,可以分成是压测JSP和Json接口两种方式) ,确定数据没问题,重新压测服务器,测出90%的线在哪里.
评论