背景
压力测试主要用来在系统正式上线之前,测试和了解系统最大的负载能力和相关性能,以及未来的伸缩性和可扩展性。为了了解系统的负载能力,我们使用JMeter作为压力测试工具。JMeter是由Apache基金会推出的免费开放源代码压力测试功能,可以通过HTTP、JDBC、Web Service等方式来连接系统,并模拟大量的用户来测试系统的负载能力。
一.Jmeter下载
官网下载地址:
http://jmeter.apache.org/download_jmeter.cgi (Requires Java 8 or 9) 对应:apache-jmeter-4.0
我的电脑是JAVA7,故采用apache-jmeter-2.9 我的下载链接:apache-jmeter-2.9
二:接口测试
1.创建线程组
2.创建HTTP请求默认值
3.创建请求头管理器,配置token等信息
4、new--Sampler--HTTP Request 创建HTTP请求
5、添加聚合报告、查看结果树等组件,查看响应内容及响应时间是否正常。
三.要进行接口压测,并获取CPU、Memory图表进行服务器性能测试,需要下载jmeter之插件perfmon。
1、JMeter Plugins Manager下载:
该插件是一个管理插件的插件。下载页面: https://jmeter-plugins.org/downloads/all/,如果网速不行,可以点击我附上的下载链接进行下载。下载后是一个jar(jmeter-plugins-manager-0.10.jar),把该jar放到jmeter的lib/ext目录下,重启jmeter即可。
2、 PerfMon插件:
PerfMon主要包含两部分:ServerAgent、The Metrics Collector Listener
1)ServerAgent:
ServerAgent放在被压测的服务器上,是用来收集服务器相关性能指标(cpu、memory、tcp等)、以及jmx等metrics信息,然后通过 TCP or UDP协议来发送给jmeter。启动后,默认监听4444端口,ServerAgent是一个文本协议,可以使用任何客户端发送/接收metrics数据信息。
下载地址 ServerAgent , 放置于服务器任意目录下,执行startAgent.sh或startAgent.bat即可启动agent。启动成功效果如下:
启动之后,测试是否可以成功通信:
打开cmd窗口,输入以下命令。回车后输入test,回车,再输入exit,回车。查看服务器是否有内容输出
如上图显示,即为成功,进行下一步。
2)The Metrics Collector Listener
The Metrics Collector Listener是在jmeter上运行的插件,用来收集agent发送的metrics信息,展示图表的。
官网下载地址:https://jmeter-plugins.org/?search=jpgc-perfmon,如果网速较差无法下载,可以点击The Metrics Collector Listener。解压后,把两个jar拷贝到jmeter的lib/ext目录。重启jmeter即可。
在jmeter的添加>监听器中,可以选在perfMon选项:
压测前,在被压测服务器上启动agent,然后使用perfMon中的监控项,可以查看压测过程中,服务器相关信息,以及CPU相关信息。
如下图进行具体设置:
压测后,查看结果: