jmeter与jenkins的集成

来源:互联网 发布:雷电网络 价格 编辑:程序博客网 时间:2024/06/07 18:17

jmeter与jenkins的集成

通过jenkins调用jmeter的压测任务,生成jtl日志文件和html报告,任务完成后邮件发送压测性能报告给用户,客户通过邮件中的url直接查看性能报告。

环境

centos6.5
jdk1.8
jmeter3.2
jenkins2.7.41


安装

1.jdk1.8安装
下载jdk-8u51-linux-x64.tar.gz,解压到/usr/local/java/jdk1.8.0_51
添加环境变量

export JAVA_HOME=/usr/local/java/jdk1.8.0_51export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

java -version 查看jdk安装是否成功
2.jenkins安装
官网下载jenkins-2.7.4-1.1.noarch.rpm
yum localinstall jenkins-2.7.4-1.1.noarch.rpm
service jenkins start

3.jmeter安装
官网下载apache-jmeter-3.2.tgz
解压到/usr/local/apache-jmeter-3.2

添加环境变量

export JMETER_HOME=/usr/local/apache-jmeter-3.2export PATH=${PATH}:${JMETER_HOME}/bin

jmeter -v 查看是否安装成功

插件安装

jenkins需要安装一下插件:
Performance Plugin 用于展示压测结果
Email Extension Plugin 邮件通过用户URL压测结果
在jenkins管理页面,更新这2个插件即可

jmeter no-gui运行

1.将jmeter的测试任务从根目录保存导出成.jmx文件。

2.使用非 GUI 模式运行测试脚本
执行/usr/local/src/jmeter_xml/login.jmx测试任务,生成日志文件/tmp/login.jtl,生成html报告/usr/share/nginx/html/tbusuat_login_search

jmeter -n -t /usr/local/src/jmeter_xml/login.jmx -l /tmp/login.jtl -e -o /usr/share/nginx/html/login


  • -n : 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
  • -t : 测试文件 -> 要运行的 JMeter 测试脚本文件
  • -l : 日志文件 -> 记录结果的文件
  • -e : 测试结束后,生成测试报告
  • -o : 指定测试报告的存放位置

注意
-o 指定的文件及文件夹,必须不存在 ,否则执行会失败,对应上面的命令就是login文件夹必须不存在否则报错
-l 生成日志文件jtl文件,这个文件夹必须让jenkins用户有权限,我直接放在/tmp目录了。

jenkins插件配置

Email Extension Plugin

系统全局设置smtp服务器和管理员邮箱
一共3个位置需要修改
1.管理员邮箱必须配
这里写图片描述
2.smtp服务器,可以发个测试邮件。
这里写图片描述
3.Extended E-mail Notification全局必须配,这个地方坑了我半天
这里写图片描述

jenkins建构任务

1.可选进程数。
这里写图片描述

2.jmeter压测任务执行
我这里把日志文件输出到/tmp目录,html报告直接输出到nginx目录,每次执行压测任务前都先清空上次数据。

这里写图片描述

3.publish performance test result report 配置
通过这个插件,在jenkins里可以很直观的观察压测结果。
这里写图片描述

4.Email Extension Plugin 报警,添加Triggers,报警类型always.
Recipient List: 收件人
Content: 邮件正文,下面的链接是nginx的链接。
用户可以直接点击url查看压测报告.
这里写图片描述

查看压测结果

通过邮件中的url链接查看。通过饼图很直接看出有没有失败的。
这里写图片描述

这里写图片描述

性能参数详细解释:
file:文件名
start time:开始时间
end time:结束时间
filter for display:过滤器
APDEX(Application performance Index):应用程序性能指标,计算每笔交易APDEX的容忍和满足阈值基于可配置的值,范围在 0-1 之间,1表示达到所有用户均满意
T(Toleration threshold):容忍或满意阈值
F(Frustration threshold):失败阈值
requests summary中KO指失败率,OK指成功率