Apache Jmeter压力测试与性能监控

项目在功能开发差不多的时候,常常需要关注系统的性能指标,需要对服务进行性能压测。系统在性能压测过程中,需要关注被压测服务器的cpu、内存、磁盘、网络等指标参数的浮动来衡量压测服务器的能力。我们可以通过在jmeter客户端集成jmeter-plugins-manager插件,在服务端部署插件serverAgent来实时监控被压测服务器的性能。

1、官网下载最新版jmeter

下载地址:https://jmeter.apache.org/download_jmeter.cgi,jmeter依赖于Java环境运行,所以需要先安装jdk(看下载页面可以看出下载的5.4.1版本需要对应Java 8以上)。

2、Jmeter插件Jmeter-plugins-manager下载

下载地址:https://jmeter-plugins.org/install/Install,apache-jmeter压缩包不自带Jmeter插件Jmeter-plugins-manager,需要自行下载安装。

3、将下载好的Jmeter-plugins-manager jar包放在jmeter包下的lib\ext文件夹下

4、在jmeter中添加插件引用

ApacheJMeter.jar启动jmeter

添加插件Apache JMeter-->options-->Plugins Manager

不习惯英文目录的,可以切换到中文目录下Options->Choose language->Chinese(simplified)

5、勾选上PerfMon(Servers Performance Monitoring)选项,点击右下角的Apply Changes and Restart JMeter按钮应用

6、下载服务端监控程序ServerAgent

对linux服务器的服务进行压测时,服务器的运行情况可以通过添加插件serverAgent来观察,可以实时监控性能指标。

插件我已上传,不需要积分直接下载,下载地址:https://download.csdn.net/download/u012082876/16570940

7、linux服务器上启动服务端监控程序ServerAgent

(1)在linux任意目录下创建一个文件夹,使用rz命令把ServerAgent-2.2.1.zip上传上去

(2)解压 命令 unzip ServerAgent-2.2.1.zip

(3)解压完成后,使用./startAgent.sh 启动(默认端口4444),也可以使用命令指定端口启动(例如将指定TCP为7081,UDP指定为7082):

./startAgent.sh --tcp-port 7081 --udp-port 7082 --sysinfo

建议将此脚本写成shell脚本,授权chmod -R 777 XXX 之后下次直接启动脚本程序。

chmod 命令普及:

文件或目录的权限又分为3种:只读、只写、可执行。

依照上面的表格,权限组合就是对应权限值求和,如下:

7 = 4 + 2 + 1 读写运行权限

5 = 4 + 1 读和运行权限

4 = 4 只读权限

因此,大家也就明白了chmod 777 filename命令的含义了。

常用 chmod -R 777 filename 其中 -R 表示:对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

注意事项:

① 测试本机是否能ping同被压测服务器

② 测试本机是否能连通被压测服务器对应的端口号,也就是说被压测服务器的该端口号需要对外开放(示例我使用的压测端口是7081)

③ 一旦连通,进入输入命令界面,输入的命令在被压测服务器也能看到,输入1212

8、添加一个线程,再添加取样器-->HTTP请求,同时可以在监听器中添加汇总图、聚合报告、汇总报告、查看结果树等来查看压测之后的结果

9、jmeter中使用perfMon监听器步骤

(1)右键选择监听器里面的jp@gc - PerfMon Metrics Collector

(2)点击AddRow,然后在host的地方添加需要监控的服务器的主机域名或者IP,port填写端口,Metric to collect下拉选择监控的指标(CPU、Memory、Swap、Disks I/O、Network I/O等)。

(3)服务端启动监控程序ServerAgent,客户端开始压测,就可以查看服务器的cpu等各项指标的曲线了

压测性能指标趋势图:

各项指标的单位参差不齐,可以单独勾选某项指标查看

压测数据汇总:

你可能感兴趣的:(Apache Jmeter压力测试与性能监控)